diff options
author | Vivek Dasmohapatra <vivek@collabora.co.uk> | 2011-04-21 12:38:37 +0100 |
---|---|---|
committer | Vivek Dasmohapatra <vivek@collabora.co.uk> | 2011-05-04 15:27:13 +0100 |
commit | 9aca7421037b878ce572e4ddc8f2f6200fb463df (patch) | |
tree | 219f0f40e90ce24884201888acf0bf6567525ab3 | |
parent | b01dd79df9032460822c3c2eebf3b3cee6cc7103 (diff) | |
download | telepathy-mission-control-9aca7421037b878ce572e4ddc8f2f6200fb463df.tar.gz |
Don't ref the registry when adding it as the filter data
-rw-r--r-- | src/client-registry.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/client-registry.c b/src/client-registry.c index cbb868c1..dbc7e15d 100644 --- a/src/client-registry.c +++ b/src/client-registry.c @@ -393,8 +393,8 @@ watch_clients (McdClientRegistry *self) arg0_filtered = dbus_connection_add_filter (dconn, mcd_client_registry_name_owner_filter, - g_object_ref (self), - g_object_unref); + self, + NULL); if (arg0_filtered) { @@ -480,6 +480,17 @@ mcd_client_registry_dispose (GObject *object) void (*chain_up) (GObject *) = G_OBJECT_CLASS (_mcd_client_registry_parent_class)->dispose; + if (self->priv->dbus_daemon != NULL) + { + DBusGConnection *gconn = + tp_proxy_get_dbus_connection (self->priv->dbus_daemon); + DBusConnection *dconn = dbus_g_connection_get_connection (gconn); + + dbus_connection_remove_filter (dconn, + mcd_client_registry_name_owner_filter, + self); + } + tp_clear_object (&self->priv->dbus_daemon); tp_clear_object (&self->priv->string_pool); |