From 1c7a301a115fd4b333fea061c48fa6065316cd80 Mon Sep 17 00:00:00 2001 From: Cody Russell Date: Fri, 12 Feb 2010 15:38:02 -0600 Subject: Just to be safe, let's connect these at the end. --- example/simple-client.c | 10 +++++++++- src/libappindicator/app-indicator.c | 8 ++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/example/simple-client.c b/example/simple-client.c index 997a446..ee7bad2 100644 --- a/example/simple-client.c +++ b/example/simple-client.c @@ -68,11 +68,18 @@ image_clicked_cb (GtkWidget *widget, gpointer data) GTK_STOCK_OPEN, GTK_ICON_SIZE_MENU); } +static void +item_clicked_2_cb (GtkWidget *widget, GtkWidget *old) +{ + gtk_widget_set_sensitive (old, FALSE); +} + static void append_submenu (GtkWidget *item) { GtkWidget *menu; GtkWidget *mi; + GtkWidget *prev_mi; menu = gtk_menu_new (); @@ -81,10 +88,11 @@ append_submenu (GtkWidget *item) g_signal_connect (mi, "activate", G_CALLBACK (item_clicked_cb), "Sub 1"); + prev_mi = mi; mi = gtk_menu_item_new_with_label ("Sub 2"); gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi); g_signal_connect (mi, "activate", - G_CALLBACK (item_clicked_cb), "Sub 2"); + G_CALLBACK (item_clicked_2_cb), prev_mi); mi = gtk_menu_item_new_with_label ("Sub 3"); gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi); diff --git a/src/libappindicator/app-indicator.c b/src/libappindicator/app-indicator.c index 49c0903..1f39f57 100644 --- a/src/libappindicator/app-indicator.c +++ b/src/libappindicator/app-indicator.c @@ -1301,6 +1301,10 @@ app_indicator_set_menu (AppIndicator *self, GtkMenu *menu) priv->menu = GTK_WIDGET (menu); g_object_ref (priv->menu); + setup_dbusmenu (self); + + check_connect (self); + g_signal_connect (menu, "add", G_CALLBACK (client_menu_changed), @@ -1309,10 +1313,6 @@ app_indicator_set_menu (AppIndicator *self, GtkMenu *menu) "remove", G_CALLBACK (client_menu_changed), self); - - setup_dbusmenu (self); - - check_connect (self); } /** -- cgit v1.2.3