diff options
author | Ted Gould <ted@gould.cx> | 2010-07-08 12:23:14 -0500 |
---|---|---|
committer | Ted Gould <ted@gould.cx> | 2010-07-08 12:23:14 -0500 |
commit | 46c8b3fee8172b80d0b0ee87887e4b3375c6f659 (patch) | |
tree | d2aa5307f31a0c7e6ae65a1189bab5b0cac958fc /libindicator | |
parent | 569196687e0eed1ae841e50b449f95d071736fa4 (diff) | |
download | libayatana-indicator-46c8b3fee8172b80d0b0ee87887e4b3375c6f659.tar.gz libayatana-indicator-46c8b3fee8172b80d0b0ee87887e4b3375c6f659.tar.bz2 libayatana-indicator-46c8b3fee8172b80d0b0ee87887e4b3375c6f659.zip |
Disconnecting signal before removing from hashtable so we don't try twice.
Diffstat (limited to 'libindicator')
-rw-r--r-- | libindicator/indicator-service.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/libindicator/indicator-service.c b/libindicator/indicator-service.c index 15335f3..c29456e 100644 --- a/libindicator/indicator-service.c +++ b/libindicator/indicator-service.c @@ -453,6 +453,7 @@ unwatch_core (IndicatorService * service, const gchar * name) gpointer watcher_item = g_hash_table_lookup(priv->watchers, name); if (watcher_item != NULL) { /* Free the watcher */ + g_signal_handlers_disconnect_by_func(G_OBJECT(watcher_item), G_CALLBACK(proxy_destroyed), service); g_hash_table_remove(priv->watchers, name); } else { /* Odd that we couldn't find the person, but, eh */ |