diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | glib/dbus-gproxy.c | 6 |
2 files changed, 11 insertions, 0 deletions
@@ -1,3 +1,8 @@ +2005-07-25 Ross Burton <ross@openedhand.com> + + * glib/dbus-gproxy.c: + Remove matches when all proxies are unregistered. + 2005-07-24 Colin Walters <walters@verbum.org> * 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) |