[Xfce4-commits] [xfce/xfce4-panel] 03/03: tasklist: Ensure pressed buttons with open menus
noreply at xfce.org
noreply at xfce.org
Sat Dec 1 01:06:04 CET 2018
This is an automated email from the git hooks/post-receive script.
o c h o s i p u s h e d a c o m m i t t o b r a n c h m a s t e r
in repository xfce/xfce4-panel.
commit 4acc4837b0391c52cef67057136fa4eedfe82daa
Author: Simon Steinbeiss <simon.steinbeiss at elfenbeinturm.at>
Date: Sat Dec 1 00:57:43 2018 +0100
tasklist: Ensure pressed buttons with open menus
---
plugins/tasklist/tasklist-widget.c | 19 ++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)
diff --git a/plugins/tasklist/tasklist-widget.c b/plugins/tasklist/tasklist-widget.c
index 4975b89..08e577c 100644
--- a/plugins/tasklist/tasklist-widget.c
+++ b/plugins/tasklist/tasklist-widget.c
@@ -2881,6 +2881,20 @@ xfce_tasklist_button_enter_notify_event (GtkWidget *button,
+static void
+xfce_tasklist_button_menu_destroy (GtkWidget *menu,
+ XfceTasklistChild *child)
+{
+ panel_return_if_fail (XFCE_IS_TASKLIST (child->tasklist));
+ panel_return_if_fail (GTK_IS_TOGGLE_BUTTON (child->button));
+ panel_return_if_fail (GTK_IS_WIDGET (menu));
+
+ gtk_widget_destroy (menu);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (child->button), FALSE);
+}
+
+
+
static gboolean
xfce_tasklist_button_button_press_event (GtkWidget *button,
GdkEventButton *event,
@@ -2910,7 +2924,7 @@ xfce_tasklist_button_button_press_event (GtkWidget *button,
{
menu = wnck_action_menu_new (child->window);
g_signal_connect (G_OBJECT (menu), "selection-done",
- G_CALLBACK (gtk_widget_destroy), NULL);
+ G_CALLBACK (xfce_tasklist_button_menu_destroy), child);
gtk_menu_attach_to_widget (GTK_MENU (menu), button, NULL);
gtk_menu_popup_at_widget (GTK_MENU (menu), button,
@@ -2920,6 +2934,7 @@ xfce_tasklist_button_button_press_event (GtkWidget *button,
? GDK_GRAVITY_SOUTH_EAST : GDK_GRAVITY_SOUTH_WEST,
(GdkEvent *) event);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE);
return TRUE;
}
@@ -3611,6 +3626,7 @@ xfce_tasklist_group_button_menu_destroy (GtkWidget *menu,
panel_return_if_fail (GTK_IS_WIDGET (menu));
gtk_widget_destroy (menu);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (group_child->button), FALSE);
#ifdef GDK_WINDOWING_X11
/* make sure the wireframe is hidden */
@@ -3660,6 +3676,7 @@ xfce_tasklist_group_button_button_press_event (GtkWidget *button,
? GDK_GRAVITY_SOUTH_EAST : GDK_GRAVITY_SOUTH_WEST,
(GdkEvent *) event);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE);
return TRUE;
}
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the Xfce4-commits
mailing list