aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2016-02-15 00:31:27 +0100
committerAleksander Morgado <aleksander@aleksander.es>2016-02-15 13:38:54 +0100
commita08708c10ded19c5a0d369905f13beb8ee7cdc49 (patch)
tree613e90b8007c04e4f45372898eacf832522b2b2d
parent5d8b26eeeb9d18ff6022998edd200aa480203d93 (diff)
huawei: avoid trying to disable parent voice unsolicited events
Which actually segfaults, as MMBroadbandModem doesn't implement the disable_unsolicited_events() method in the voice interface.
-rw-r--r--plugins/huawei/mm-broadband-modem-huawei.c39
1 files changed, 10 insertions, 29 deletions
diff --git a/plugins/huawei/mm-broadband-modem-huawei.c b/plugins/huawei/mm-broadband-modem-huawei.c
index 0449bc58..56b5bf09 100644
--- a/plugins/huawei/mm-broadband-modem-huawei.c
+++ b/plugins/huawei/mm-broadband-modem-huawei.c
@@ -3204,19 +3204,19 @@ static const MMBaseModemAtCommand unsolicited_voice_disable_sequence[] = {
};
static void
-parent_voice_disable_unsolicited_events_ready (MMIfaceModemVoice *self,
- GAsyncResult *res,
- GSimpleAsyncResult *simple)
+modem_voice_disable_unsolicited_events (MMIfaceModemVoice *self,
+ GAsyncReadyCallback callback,
+ gpointer user_data)
{
- GError *error = NULL;
+ GSimpleAsyncResult *simple;
- if (!iface_modem_voice_parent->disable_unsolicited_events_finish (self, res, &error)) {
- g_simple_async_result_take_error (simple, error);
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
- }
+ simple = g_simple_async_result_new (G_OBJECT (self),
+ callback,
+ user_data,
+ modem_voice_disable_unsolicited_events);
+
+ /* No unsolicited events disabling in parent */
- /* Our own enable now */
mm_base_modem_at_sequence_full (
MM_BASE_MODEM (self),
mm_base_modem_peek_port_primary (MM_BASE_MODEM (self)),
@@ -3228,25 +3228,6 @@ parent_voice_disable_unsolicited_events_ready (MMIfaceModemVoice *self,
simple);
}
-static void
-modem_voice_disable_unsolicited_events (MMIfaceModemVoice *self,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- GSimpleAsyncResult *result;
-
- result = g_simple_async_result_new (G_OBJECT (self),
- callback,
- user_data,
- modem_voice_disable_unsolicited_events);
-
- /* Chain up parent's enable */
- iface_modem_voice_parent->disable_unsolicited_events (
- self,
- (GAsyncReadyCallback)parent_voice_disable_unsolicited_events_ready,
- result);
-}
-
/*****************************************************************************/
/* Create call (Voice interface) */