diff options
author | Aleksander Morgado <aleksander@aleksander.es> | 2016-02-15 00:31:27 +0100 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2016-02-15 13:38:54 +0100 |
commit | a08708c10ded19c5a0d369905f13beb8ee7cdc49 (patch) | |
tree | 613e90b8007c04e4f45372898eacf832522b2b2d | |
parent | 5d8b26eeeb9d18ff6022998edd200aa480203d93 (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.c | 39 |
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) */ |