aboutsummaryrefslogtreecommitdiff
path: root/src/libappindicator/app-indicator.c
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2010-02-19 09:22:23 -0600
committerTed Gould <ted@gould.cx>2010-02-19 09:22:23 -0600
commit435edba2721a55712c440bbc71fd47911680453d (patch)
tree117b13a0a5464f2e814faa76f63f0514a585c2eb /src/libappindicator/app-indicator.c
parent42e1e5795073eb170f5bea58079375b69c8d8fe6 (diff)
parentb0a873f50f17da2209aa8fa0e85ae325020e7fbf (diff)
downloadlibayatana-appindicator-435edba2721a55712c440bbc71fd47911680453d.tar.gz
libayatana-appindicator-435edba2721a55712c440bbc71fd47911680453d.tar.bz2
libayatana-appindicator-435edba2721a55712c440bbc71fd47911680453d.zip
Fix to remove the registration of dbus objects
Diffstat (limited to 'src/libappindicator/app-indicator.c')
-rw-r--r--src/libappindicator/app-indicator.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/libappindicator/app-indicator.c b/src/libappindicator/app-indicator.c
index 7fb7996..027f794 100644
--- a/src/libappindicator/app-indicator.c
+++ b/src/libappindicator/app-indicator.c
@@ -598,6 +598,7 @@ check_connect (AppIndicator *self)
if (priv->id == NULL) return;
gchar * path = g_strdup_printf(DEFAULT_ITEM_PATH "/%s", priv->clean_id);
+
dbus_g_connection_register_g_object(priv->connection,
path,
G_OBJECT(self));
@@ -612,6 +613,8 @@ check_connect (AppIndicator *self)
/* Unable to get proxy, but we're handling that now so
it's not a warning anymore. */
g_error_free(error);
+ dbus_g_connection_unregister_g_object(priv->connection,
+ G_OBJECT(self));
start_fallback_timer(self, FALSE);
g_free(path);
return;
@@ -632,6 +635,8 @@ watcher_proxy_destroyed (GObject * object, gpointer data)
AppIndicator * self = APP_INDICATOR(data);
g_return_if_fail(self != NULL);
+ dbus_g_connection_unregister_g_object(self->priv->connection,
+ G_OBJECT(self));
self->priv->watcher_proxy = NULL;
start_fallback_timer(self, FALSE);
return;
@@ -649,6 +654,8 @@ register_service_cb (DBusGProxy * proxy, GError * error, gpointer data)
/* They didn't respond, ewww. Not sure what they could
be doing */
g_warning("Unable to connect to the Notification Watcher: %s", error->message);
+ dbus_g_connection_unregister_g_object(priv->connection,
+ G_OBJECT(data));
g_object_unref(G_OBJECT(priv->watcher_proxy));
priv->watcher_proxy = NULL;
start_fallback_timer(APP_INDICATOR(data), TRUE);