Commit fa48dbf1 authored by Matthias Clasen's avatar Matthias Clasen

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.
parent aaa46767
......@@ -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);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment