summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2012-12-12 12:55:33 +0100
committerAleksander Morgado <aleksander@lanedo.com>2012-12-12 12:55:33 +0100
commitf20922ba9d766bfbb198a3c2e41981b4d9473cfa (patch)
treeaddbc22444ff899d8799989c3e83a3450610bc47
parentc43c8958d09ba93909c3a2aebd691df9872a10e8 (diff)
bearer: check if signal handler is connected before trying to disconnect it
Avoids warnings like: GLib-GObject-WARNING **: gsignal.c:2576: instance `0x78624028' has no handler with id `148'
-rw-r--r--src/mm-bearer.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/mm-bearer.c b/src/mm-bearer.c
index d426c72a..5aa713e2 100644
--- a/src/mm-bearer.c
+++ b/src/mm-bearer.c
@@ -320,15 +320,18 @@ reset_signal_handlers (MMBearer *self)
320 return; 320 return;
321 321
322 if (self->priv->id_3gpp_registration_change) { 322 if (self->priv->id_3gpp_registration_change) {
323 g_signal_handler_disconnect (self->priv->modem, self->priv->id_3gpp_registration_change); 323 if (g_signal_handler_is_connected (self->priv->modem, self->priv->id_3gpp_registration_change))
324 g_signal_handler_disconnect (self->priv->modem, self->priv->id_3gpp_registration_change);
324 self->priv->id_3gpp_registration_change = 0; 325 self->priv->id_3gpp_registration_change = 0;
325 } 326 }
326 if (self->priv->id_cdma1x_registration_change) { 327 if (self->priv->id_cdma1x_registration_change) {
327 g_signal_handler_disconnect (self->priv->modem, self->priv->id_cdma1x_registration_change); 328 if (g_signal_handler_is_connected (self->priv->modem, self->priv->id_cdma1x_registration_change))
329 g_signal_handler_disconnect (self->priv->modem, self->priv->id_cdma1x_registration_change);
328 self->priv->id_cdma1x_registration_change = 0; 330 self->priv->id_cdma1x_registration_change = 0;
329 } 331 }
330 if (self->priv->id_evdo_registration_change) { 332 if (self->priv->id_evdo_registration_change) {
331 g_signal_handler_disconnect (self->priv->modem, self->priv->id_evdo_registration_change); 333 if (g_signal_handler_is_connected (self->priv->modem, self->priv->id_evdo_registration_change))
334 g_signal_handler_disconnect (self->priv->modem, self->priv->id_evdo_registration_change);
332 self->priv->id_evdo_registration_change = 0; 335 self->priv->id_evdo_registration_change = 0;
333 } 336 }
334} 337}