From f20922ba9d766bfbb198a3c2e41981b4d9473cfa Mon Sep 17 00:00:00 2001 From: Aleksander Morgado Date: Wed, 12 Dec 2012 12:55:33 +0100 Subject: 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' --- src/mm-bearer.c | 9 ++++++--- 1 file 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) return; if (self->priv->id_3gpp_registration_change) { - g_signal_handler_disconnect (self->priv->modem, self->priv->id_3gpp_registration_change); + if (g_signal_handler_is_connected (self->priv->modem, self->priv->id_3gpp_registration_change)) + g_signal_handler_disconnect (self->priv->modem, self->priv->id_3gpp_registration_change); self->priv->id_3gpp_registration_change = 0; } if (self->priv->id_cdma1x_registration_change) { - g_signal_handler_disconnect (self->priv->modem, self->priv->id_cdma1x_registration_change); + if (g_signal_handler_is_connected (self->priv->modem, self->priv->id_cdma1x_registration_change)) + g_signal_handler_disconnect (self->priv->modem, self->priv->id_cdma1x_registration_change); self->priv->id_cdma1x_registration_change = 0; } if (self->priv->id_evdo_registration_change) { - g_signal_handler_disconnect (self->priv->modem, self->priv->id_evdo_registration_change); + if (g_signal_handler_is_connected (self->priv->modem, self->priv->id_evdo_registration_change)) + g_signal_handler_disconnect (self->priv->modem, self->priv->id_evdo_registration_change); self->priv->id_evdo_registration_change = 0; } } -- cgit v1.2.3