From fa48dbf1a58c01f06218accd3ec0c1b5ffceca02 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 9 Mar 2016 14:15:40 -0500 Subject: [PATCH] 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. --- gtk/gtkrange.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gtk/gtkrange.c b/gtk/gtkrange.c index c85c20337a..b9fada2dc7 100644 --- a/gtk/gtkrange.c +++ b/gtk/gtkrange.c @@ -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); }