[gtk+] gtk: save/restore the cairo_t around early upchaining in draw()



commit 7fabfec5333c6bf8ab40082e3c5e56f1d525650c
Author: Michael Natterer <mitch gimp org>
Date:   Fri Jan 21 15:06:43 2011 +0100

    gtk: save/restore the cairo_t around early upchaining in draw()
    
    and don't save/restore the style context because that's the job of
    each draw() implementation.

 gtk/gtkspinbutton.c |    7 ++-----
 1 files changed, 2 insertions(+), 5 deletions(-)
---
diff --git a/gtk/gtkspinbutton.c b/gtk/gtkspinbutton.c
index e317968..1d357e3 100644
--- a/gtk/gtkspinbutton.c
+++ b/gtk/gtkspinbutton.c
@@ -921,12 +921,10 @@ gtk_spin_button_draw (GtkWidget      *widget,
 
   is_rtl = (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL);
   context = gtk_widget_get_style_context (widget);
-  gtk_style_context_save (context);
-
-  GTK_WIDGET_CLASS (gtk_spin_button_parent_class)->draw (widget, cr);
 
-  gtk_style_context_restore (context);
   cairo_save (cr);
+  GTK_WIDGET_CLASS (gtk_spin_button_parent_class)->draw (widget, cr);
+  cairo_restore (cr);
 
   state = gtk_widget_get_state_flags (widget);
 
@@ -953,7 +951,6 @@ gtk_spin_button_draw (GtkWidget      *widget,
   gtk_spin_button_draw_arrow (spin, context, cr, GTK_ARROW_DOWN);
 
   gtk_style_context_restore (context);
-  cairo_restore (cr);
 
   return FALSE;
 }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]