diff options
author | Benjamin Otte <otte@redhat.com> | 2014-10-16 17:00:20 +0200 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2014-10-16 17:18:34 +0200 |
commit | 998feeb2bc3e37275cfe915e128179d2704ca9c8 (patch) | |
tree | a5835f2da4a1ab371d81c766d82db9064ae492a0 /gtk/gtkspinbutton.c | |
parent | a4a38dff0d9439ba190741112b99877be4a32207 (diff) | |
download | gtk+-998feeb2bc3e37275cfe915e128179d2704ca9c8.tar.gz |
spinbutton: Set the correct state on the button contexts
With the recent save-is-child changes, using
gtk_style_context_get_padding (context, different_state)
will now open a subelement.
This is not what we want, so we check the state whenever we get the
button contexts.
Diffstat (limited to 'gtk/gtkspinbutton.c')
-rw-r--r-- | gtk/gtkspinbutton.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/gtk/gtkspinbutton.c b/gtk/gtkspinbutton.c index 770f242adb..b191784e48 100644 --- a/gtk/gtkspinbutton.c +++ b/gtk/gtkspinbutton.c @@ -922,9 +922,13 @@ gtk_spin_button_panel_get_context (GtkSpinButton *spin_button, panel == priv->down_panel); } + gtk_style_context_set_state (*contextp, gtk_spin_button_panel_get_state (spin_button, panel)); + return *contextp; } +#include "gtkcsssectionprivate.h" + static void gtk_spin_button_panel_get_size (GtkSpinButton *spin_button, GdkWindow *panel, @@ -940,7 +944,7 @@ gtk_spin_button_panel_get_size (GtkSpinButton *spin_button, icon_size = MAX (w, h); context = gtk_spin_button_panel_get_context (spin_button, panel); - state = gtk_spin_button_panel_get_state (spin_button, panel); + state = gtk_style_context_get_state (context); gtk_style_context_get_padding (context, state, &button_padding); gtk_style_context_get_border (context, state, &button_border); @@ -1031,7 +1035,6 @@ gtk_spin_button_panel_draw (GtkSpinButton *spin_button, { GtkSpinButtonPrivate *priv = spin_button->priv; GtkStyleContext *context; - GtkStateFlags state; GtkWidget *widget; gdouble width, height, x, y; gint icon_width, icon_height; @@ -1043,8 +1046,6 @@ gtk_spin_button_panel_draw (GtkSpinButton *spin_button, gtk_cairo_transform_to_window (cr, widget, panel); context = gtk_spin_button_panel_get_context (spin_button, panel); - state = gtk_spin_button_panel_get_state (spin_button, panel); - gtk_style_context_set_state (context, state); height = gdk_window_get_height (panel); width = gdk_window_get_width (panel); |