summaryrefslogtreecommitdiffstats
path: root/glib
diff options
context:
space:
mode:
authorRoss Burton <ross@openedhand.com>2005-07-25 19:16:22 +0000
committerRoss Burton <ross@openedhand.com>2005-07-25 19:16:22 +0000
commit915100a3765cdb60d04d314cf79a2687b6c5b5cb (patch)
treed91ca3a9e2f9c272aee586892122388071b4efe1 /glib
parent9ca6f45e86f1e1839967821261c55083becfa40a (diff)
Remove matchers when all proxies are removed
Diffstat (limited to 'glib')
-rw-r--r--glib/dbus-gproxy.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/glib/dbus-gproxy.c b/glib/dbus-gproxy.c
index 0ebff603..5e53f3ee 100644
--- a/glib/dbus-gproxy.c
+++ b/glib/dbus-gproxy.c
@@ -1020,9 +1020,15 @@ dbus_g_proxy_manager_unregister (DBusGProxyManager *manager,
if (list->proxies == NULL)
{
+ char *rule;
g_hash_table_remove (manager->proxy_lists,
tri);
list = NULL;
+
+ rule = g_proxy_get_match_rule (proxy);
+ dbus_bus_remove_match (manager->connection,
+ rule, NULL);
+ g_free (rule);
}
if (g_hash_table_size (manager->proxy_lists) == 0)