From af58a0dbd819e776508420dc1d7535da49486b98 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 1 Mar 2005 16:07:04 +0000 Subject: [PATCH] Fix prelighting. (#157392, Vincent Noel, patch by Christian Persch) * gtk/gtkmenutoolbutton.c (button_state_changed_cb): Fix prelighting. (#157392, Vincent Noel, patch by Christian Persch) --- ChangeLog | 4 ++++ ChangeLog.pre-2-10 | 4 ++++ ChangeLog.pre-2-8 | 4 ++++ gtk/gtkmenutoolbutton.c | 8 +++++++- 4 files changed, 19 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 0517ec734..b97f3831a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2005-03-01 Matthias Clasen + * gtk/gtkmenutoolbutton.c (button_state_changed_cb): + Fix prelighting. (#157392, Vincent Noel, patch by + Christian Persch) + * gtk/gtkicontheme.c (theme_lookup_icon): Make icon data caching work again. (#168851, Alexander Larsson) diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 0517ec734..b97f3831a 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,5 +1,9 @@ 2005-03-01 Matthias Clasen + * gtk/gtkmenutoolbutton.c (button_state_changed_cb): + Fix prelighting. (#157392, Vincent Noel, patch by + Christian Persch) + * gtk/gtkicontheme.c (theme_lookup_icon): Make icon data caching work again. (#168851, Alexander Larsson) diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 0517ec734..b97f3831a 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,5 +1,9 @@ 2005-03-01 Matthias Clasen + * gtk/gtkmenutoolbutton.c (button_state_changed_cb): + Fix prelighting. (#157392, Vincent Noel, patch by + Christian Persch) + * gtk/gtkicontheme.c (theme_lookup_icon): Make icon data caching work again. (#168851, Alexander Larsson) diff --git a/gtk/gtkmenutoolbutton.c b/gtk/gtkmenutoolbutton.c index f7249f13d..6448d6e15 100644 --- a/gtk/gtkmenutoolbutton.c +++ b/gtk/gtkmenutoolbutton.c @@ -277,11 +277,17 @@ button_state_changed_cb (GtkWidget *widget, { gtk_widget_set_state (other, state); } - else if (state == GTK_STATE_ACTIVE) + else if (state == GTK_STATE_ACTIVE || + (state == GTK_STATE_INSENSITIVE && other == priv->arrow_button)) { gtk_widget_set_state (other, GTK_STATE_NORMAL); } + if (state == GTK_STATE_INSENSITIVE && other == priv->arrow_button && button->priv->menu) + { + gtk_menu_shell_deactivate (GTK_MENU_SHELL (button->priv->menu)); + } + g_signal_handlers_unblock_by_func (other, G_CALLBACK (button_state_changed_cb), button); -- 2.43.2