diff options
author | Aleksander Morgado <aleksander@lanedo.com> | 2012-12-12 12:55:33 +0100 |
---|---|---|
committer | Aleksander Morgado <aleksander@lanedo.com> | 2012-12-12 12:55:33 +0100 |
commit | f20922ba9d766bfbb198a3c2e41981b4d9473cfa (patch) | |
tree | addbc22444ff899d8799989c3e83a3450610bc47 | |
parent | c43c8958d09ba93909c3a2aebd691df9872a10e8 (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.c | 9 |
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 | } |