mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-27 14:10:30 +00:00
range: Fix gadget state propagation
The contents node was not getting state updates at all, and the trough node was missing some state updates as well, because we were not calling update_trough_state() in all the places where it is needed.
This commit is contained in:
parent
aaa467679d
commit
fa48dbf1a5
@ -2302,6 +2302,8 @@ update_trough_state (GtkRange *range)
|
||||
|
||||
state &= ~(GTK_STATE_FLAG_PRELIGHT | GTK_STATE_FLAG_ACTIVE);
|
||||
|
||||
gtk_css_gadget_set_state (priv->contents_gadget, state);
|
||||
|
||||
if (priv->mouse_location == MOUSE_TROUGH && !(state & GTK_STATE_FLAG_INSENSITIVE))
|
||||
state |= GTK_STATE_FLAG_PRELIGHT;
|
||||
|
||||
@ -2418,6 +2420,7 @@ range_grab_add (GtkRange *range,
|
||||
priv->grab_location = location;
|
||||
gtk_range_queue_allocate_location (range, location);
|
||||
|
||||
update_trough_state (range);
|
||||
update_slider_state (range);
|
||||
update_steppers_state (range);
|
||||
|
||||
@ -3473,6 +3476,7 @@ gtk_range_update_mouse_location (GtkRange *range)
|
||||
else
|
||||
gtk_widget_set_state_flags (widget, GTK_STATE_FLAG_PRELIGHT, FALSE);
|
||||
|
||||
update_trough_state (range);
|
||||
update_slider_state (range);
|
||||
update_steppers_state (range);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user