aboutsummaryrefslogtreecommitdiff
path: root/src/libappindicator/app-indicator.c
diff options
context:
space:
mode:
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 bb3c71f..cd28bdd 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);