[gtk+] range: Fix gadget state propagation
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] range: Fix gadget state propagation
- Date: Wed, 9 Mar 2016 19:16:51 +0000 (UTC)
commit fa48dbf1a58c01f06218accd3ec0c1b5ffceca02
Author: Matthias Clasen <mclasen redhat com>
Date: Wed Mar 9 14:15:40 2016 -0500
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 files changed, 4 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtkrange.c b/gtk/gtkrange.c
index c85c203..b9fada2 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);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]