togglebutton: always set PRELIGHT state when in_button = TRUE

Previously, we would avoid setting the prelight state flag when
button_down was TRUE and draw_indicator = FALSE, which is the normal
case of a GtkToggleButton during a mouse press.
It looks like this behavior was introduced a long time ago with commit
b94e6c0a80. I believe the reason was that
a widget in GTK2 couldn't have more than a single state (e.g.
hover+active) at a given moment.

https://bugzilla.gnome.org/show_bug.cgi?id=684038
This commit is contained in:
Cosimo Cecchi 2012-09-14 13:03:07 -04:00
parent 1ad25dfb81
commit 52ea721551

View File

@ -644,7 +644,7 @@ gtk_toggle_button_update_state (GtkButton *button)
else else
depressed = priv->active; depressed = priv->active;
if (button->priv->in_button && (!button->priv->button_down || priv->draw_indicator)) if (button->priv->in_button)
new_state |= GTK_STATE_FLAG_PRELIGHT; new_state |= GTK_STATE_FLAG_PRELIGHT;
if (depressed) if (depressed)