diff options
author | Ted Gould <ted@gould.cx> | 2010-02-25 15:18:24 -0600 |
---|---|---|
committer | Ted Gould <ted@gould.cx> | 2010-02-25 15:18:24 -0600 |
commit | 579c1e0778ec4783c07bda038d39164682ee3158 (patch) | |
tree | a62d60a27e79b4ad68b63fc457c319d174f4b577 /src | |
parent | 9d1ecc8139ae90a81f02e4529f5f42f73c30029a (diff) | |
parent | bc5b940605bdcd6282f7eda735ef3d262101da79 (diff) | |
download | ayatana-indicator-application-579c1e0778ec4783c07bda038d39164682ee3158.tar.gz ayatana-indicator-application-579c1e0778ec4783c07bda038d39164682ee3158.tar.bz2 ayatana-indicator-application-579c1e0778ec4783c07bda038d39164682ee3158.zip |
Upstream release 0.0.14
∘ Fix mono bindings to include proper metadata (LP: #526620)
∘ Send connection changed signal when the proxy is created
and destroyed (LP: #527082)
∘ Hide the fallback status icon before unrefing it. (LP: #526041)
∘ Increase dbus-glib version check to 0.82
∘ Handle menu layout changes and visibility changes better.
∘ Improve testing stability
∘ Read menu sensitivity on startup.
∘ Handle null strings when evaluating whether we have an
attention icon.
∘ Remove dbus objects when we fallback
∘ Disconnect client_menu_changed signal handlers on cleanup.
∘ Handle cases where the menu gets unset on updates.
∘ Fix custom labels on stock items.
∘ Adds support for submenus
Diffstat (limited to 'src')
-rw-r--r-- | src/libappindicator/app-indicator.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/libappindicator/app-indicator.c b/src/libappindicator/app-indicator.c index 7c1ac82..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; } @@ -885,6 +895,7 @@ unfallback (AppIndicator * self, GtkStatusIcon * status_icon) { g_signal_handlers_disconnect_by_func(G_OBJECT(self), status_icon_status_wrapper, status_icon); g_signal_handlers_disconnect_by_func(G_OBJECT(self), status_icon_changes, status_icon); + gtk_widget_hide(GTK_WIDGET(status_icon)); g_object_unref(G_OBJECT(status_icon)); return; } |