diff options
author | Matthias Clasen <matthiasc@src.gnome.org> | 2005-03-01 16:07:04 +0000 |
---|---|---|
committer | Matthias Clasen <matthiasc@src.gnome.org> | 2005-03-01 16:07:04 +0000 |
commit | af58a0dbd819e776508420dc1d7535da49486b98 (patch) | |
tree | c6ed9d917b0f5e29b3beb33b9aeef8b6a80c803b /gtk/gtkmenutoolbutton.c | |
parent | 86db923391178872e0c91f07345fe344d68faab6 (diff) | |
download | gdk-pixbuf-af58a0dbd819e776508420dc1d7535da49486b98.tar.gz |
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)
Diffstat (limited to 'gtk/gtkmenutoolbutton.c')
-rw-r--r-- | gtk/gtkmenutoolbutton.c | 8 |
1 files changed, 7 insertions, 1 deletions
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); |