[Telepathy-commits] [telepathy-gabble/master] JingleFactory: properly unregister message handler at disconnect
Senko Rasic
senko at phyrexia.lan
Tue Dec 2 04:34:00 PST 2008
---
src/jingle-factory.c | 18 +++++++++++++-----
1 files changed, 13 insertions(+), 5 deletions(-)
diff --git a/src/jingle-factory.c b/src/jingle-factory.c
index 3798c3f..3db37be 100644
--- a/src/jingle-factory.c
+++ b/src/jingle-factory.c
@@ -265,11 +265,6 @@ gabble_jingle_factory_dispose (GObject *object)
g_hash_table_destroy (fac->transports);
fac->transports = NULL;
- lm_connection_unregister_message_handler (priv->conn->lmconn,
- priv->jingle_cb, LM_MESSAGE_TYPE_IQ);
- lm_connection_unregister_message_handler (priv->conn->lmconn,
- priv->jingle_info_cb, LM_MESSAGE_TYPE_IQ);
-
g_free (fac->stun_server);
g_free (fac->relay_token);
@@ -428,6 +423,19 @@ connection_status_changed_cb (GabbleConnection *conn,
}
}
break;
+
+ case TP_CONNECTION_STATUS_DISCONNECTED:
+ if (priv->jingle_cb != NULL)
+ {
+ lm_connection_unregister_message_handler (priv->conn->lmconn,
+ priv->jingle_cb, LM_MESSAGE_TYPE_IQ);
+ lm_connection_unregister_message_handler (priv->conn->lmconn,
+ priv->jingle_info_cb, LM_MESSAGE_TYPE_IQ);
+
+ priv->jingle_cb = NULL;
+ priv->jingle_info_cb = NULL;
+ }
+ break;
}
}
--
1.5.6.5
More information about the Telepathy-commits
mailing list