diff options
| author | Ross Burton <ross@openedhand.com> | 2005-07-25 19:16:22 +0000 | 
|---|---|---|
| committer | Ross Burton <ross@openedhand.com> | 2005-07-25 19:16:22 +0000 | 
| commit | 915100a3765cdb60d04d314cf79a2687b6c5b5cb (patch) | |
| tree | d91ca3a9e2f9c272aee586892122388071b4efe1 | |
| parent | 9ca6f45e86f1e1839967821261c55083becfa40a (diff) | |
Remove matchers when all proxies are removed
| -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)  | 
