aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJussi Kukkonen <jussi.kukkonen@intel.com>2016-03-20 13:24:37 +0200
committerRoss Burton <ross.burton@intel.com>2016-03-21 11:27:08 +0000
commita0b5fca04da208990f3c40e65dbb045da4cdb35e (patch)
tree117e8b6bb84e2b5cd4573b83029e070a0c95a625
parent1a7304d6e94035fddcfed366204d77831086eb44 (diff)
downloadmatchbox-panel-2-a0b5fca04da208990f3c40e65dbb045da4cdb35e.tar.gz
matchbox-panel-2-a0b5fca04da208990f3c40e65dbb045da4cdb35e.tar.bz2
matchbox-panel-2-a0b5fca04da208990f3c40e65dbb045da4cdb35e.zip
showdesktop: Make sure active state is initializedgtk2
There are cases (in qemu at least) where set_active() is never called on startup. Make sure we initialize the active state so the icon gets loaded and the applet is not confused about the current state. Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
-rw-r--r--applets/showdesktop/showdesktop.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/applets/showdesktop/showdesktop.c b/applets/showdesktop/showdesktop.c
index 61dd5c2..33c13e1 100644
--- a/applets/showdesktop/showdesktop.c
+++ b/applets/showdesktop/showdesktop.c
@@ -181,6 +181,12 @@ button_clicked_cb (GtkButton *button,
&xev);
}
+static void
+realize_cb (GtkWidget *button, ShowDesktopApplet *applet)
+{
+ sync_applet (applet);
+}
+
G_MODULE_EXPORT GtkWidget *
mb_panel_applet_create (const char *id,
GtkOrientation orientation)
@@ -216,6 +222,10 @@ mb_panel_applet_create (const char *id,
"clicked",
G_CALLBACK (button_clicked_cb),
applet);
+ g_signal_connect (button,
+ "realize",
+ G_CALLBACK (realize_cb),
+ applet);
g_object_weak_ref (G_OBJECT (button),
(GWeakNotify) show_desktop_applet_free,