Remove matchers when all proxies are removed
authorRoss Burton <ross@openedhand.com>
Mon, 25 Jul 2005 19:16:22 +0000 (19:16 +0000)
committerRoss Burton <ross@openedhand.com>
Mon, 25 Jul 2005 19:16:22 +0000 (19:16 +0000)
ChangeLog
glib/dbus-gproxy.c

index 946c133..5d02b85 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
index 0ebff60..5e53f3e 100644 (file)
@@ -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)