diff options
author | Ted Gould <ted@gould.cx> | 2010-02-25 14:53:27 -0600 |
---|---|---|
committer | Ted Gould <ted@gould.cx> | 2010-02-25 14:53:27 -0600 |
commit | 464e29f21fd037823f012e7981fa0f5c34a58486 (patch) | |
tree | 99620f3021e0cbcdada39aae4228414355a444f5 | |
parent | bb72be901bc2f022e2ecd9856640a75d7e8c0ddf (diff) | |
parent | e8fe4dd5541ec1c323b8d9e8943296b89b9205e7 (diff) | |
download | libayatana-appindicator-464e29f21fd037823f012e7981fa0f5c34a58486.tar.gz libayatana-appindicator-464e29f21fd037823f012e7981fa0f5c34a58486.tar.bz2 libayatana-appindicator-464e29f21fd037823f012e7981fa0f5c34a58486.zip |
Emitting the connection changed signal when the proxy is created and destroyed.
-rw-r--r-- | src/libappindicator/app-indicator.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/libappindicator/app-indicator.c b/src/libappindicator/app-indicator.c index 263cd8c..1796e8e 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; } |