aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSense Hofstede <qense@ubuntu.com>2010-02-25 16:47:37 +0100
committerSense Hofstede <qense@ubuntu.com>2010-02-25 16:47:37 +0100
commite8fe4dd5541ec1c323b8d9e8943296b89b9205e7 (patch)
tree9da7b63be93ba48e0ce4e31660d2add38553900b
parent1572f64f0a8329cfecd5395e643c538ad04ce54f (diff)
downloadlibayatana-appindicator-e8fe4dd5541ec1c323b8d9e8943296b89b9205e7.tar.gz
libayatana-appindicator-e8fe4dd5541ec1c323b8d9e8943296b89b9205e7.tar.bz2
libayatana-appindicator-e8fe4dd5541ec1c323b8d9e8943296b89b9205e7.zip
* Do send the connection-changed signal, in check_connect() -- when a new connection is established -- watcher_proxy_destroyed() and app_indicator_dispose() (Closes LP: #527082)
-rw-r--r--src/libappindicator/app-indicator.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/libappindicator/app-indicator.c b/src/libappindicator/app-indicator.c
index 7c1ac82..02ce971 100644
--- a/src/libappindicator/app-indicator.c
+++ b/src/libappindicator/app-indicator.c
@@ -387,6 +387,9 @@ app_indicator_dispose (GObject *object)
g_signal_handlers_disconnect_by_func(G_OBJECT(priv->watcher_proxy), watcher_proxy_destroyed, self);
g_object_unref(G_OBJECT(priv->watcher_proxy));
priv->watcher_proxy = NULL;
+
+ /* Emit the AppIndicator::connection-changed signal*/
+ g_signal_emit (self, signals[CONNECTION_CHANGED], 0, FALSE);
}
if (priv->connection != NULL) {
@@ -625,6 +628,9 @@ check_connect (AppIndicator *self)
org_freedesktop_StatusNotifierWatcher_register_status_notifier_item_async(priv->watcher_proxy, path, register_service_cb, self);
g_free(path);
+ /* Emit the AppIndicator::connection-changed signal*/
+ g_signal_emit (self, signals[CONNECTION_CHANGED], 0, TRUE);
+
return;
}
@@ -639,6 +645,10 @@ watcher_proxy_destroyed (GObject * object, gpointer data)
dbus_g_connection_unregister_g_object(self->priv->connection,
G_OBJECT(self));
self->priv->watcher_proxy = NULL;
+
+ /* Emit the AppIndicator::connection-changed signal*/
+ g_signal_emit (self, signals[CONNECTION_CHANGED], 0, FALSE);
+
start_fallback_timer(self, FALSE);
return;
}