From 915100a3765cdb60d04d314cf79a2687b6c5b5cb Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Mon, 25 Jul 2005 19:16:22 +0000 Subject: Remove matchers when all proxies are removed --- ChangeLog | 5 +++++ glib/dbus-gproxy.c | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/ChangeLog b/ChangeLog index 946c1331..5d02b85a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2005-07-25 Ross Burton + + * glib/dbus-gproxy.c: + Remove matches when all proxies are unregistered. + 2005-07-24 Colin Walters * glib/dbus-gvalue.c (signature_iter_to_g_type_array): Don't require 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) -- cgit