From 556da4760e2bf4afa1c825b927b62314174632eb Mon Sep 17 00:00:00 2001 From: Jussi Kukkonen Date: Mon, 21 Mar 2016 21:43:17 +0200 Subject: [PATCH] matchbox-panel-2: Fix Home-button icon load issue Home (showdesktop) button sometimes did not load the icon because the active state was never initialized. Backport fix for this issue. [YOCTO #9026] Signed-off-by: Jussi Kukkonen Signed-off-by: Ross Burton --- ...ake-sure-active-state-is-initialized.patch | 50 +++++++++++++++++++ .../matchbox-panel-2/matchbox-panel-2_git.bb | 1 + 2 files changed, 51 insertions(+) create mode 100644 meta/recipes-sato/matchbox-panel-2/files/0001-showdesktop-Make-sure-active-state-is-initialized.patch diff --git a/meta/recipes-sato/matchbox-panel-2/files/0001-showdesktop-Make-sure-active-state-is-initialized.patch b/meta/recipes-sato/matchbox-panel-2/files/0001-showdesktop-Make-sure-active-state-is-initialized.patch new file mode 100644 index 0000000000..3bab6d292d --- /dev/null +++ b/meta/recipes-sato/matchbox-panel-2/files/0001-showdesktop-Make-sure-active-state-is-initialized.patch @@ -0,0 +1,50 @@ +From a0b5fca04da208990f3c40e65dbb045da4cdb35e Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen +Date: Sun, 20 Mar 2016 13:24:37 +0200 +Subject: [PATCH] showdesktop: Make sure active state is initialized + +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 +Signed-off-by: Ross Burton + + +Upstream-Status: Backport +--- + applets/showdesktop/showdesktop.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +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, +-- +2.7.0 + diff --git a/meta/recipes-sato/matchbox-panel-2/matchbox-panel-2_git.bb b/meta/recipes-sato/matchbox-panel-2/matchbox-panel-2_git.bb index 61d9e300ee..98c3ae487b 100644 --- a/meta/recipes-sato/matchbox-panel-2/matchbox-panel-2_git.bb +++ b/meta/recipes-sato/matchbox-panel-2/matchbox-panel-2_git.bb @@ -22,6 +22,7 @@ RREPLACES_${PN} = "matchbox-panel" RCONFLICTS_${PN} = "matchbox-panel" SRC_URI = "git://git.yoctoproject.org/${BPN} \ + file://0001-showdesktop-Make-sure-active-state-is-initialized.patch \ file://silence-warnings.patch" EXTRA_OECONF = "--enable-startup-notification --enable-dbus" -- 2.40.1