]> Pileus Git - ~andy/gtk/commitdiff
Clip focus rectangle to background area
authorKristian Rietveld <kris@gtk.org>
Thu, 16 Dec 2010 11:33:00 +0000 (12:33 +0100)
committerKristian Rietveld <kris@gtk.org>
Thu, 16 Dec 2010 11:33:00 +0000 (12:33 +0100)
gtk/gtkcellarea.c

index 10190214e672d6ae3c56a0152a142f2f6af94c91..a11f5b087f61e86bc2196ae6711477f23f62722b 100644 (file)
@@ -1135,11 +1135,18 @@ gtk_cell_area_real_render (GtkCellArea          *area,
        (flags & GTK_CELL_RENDERER_PRELIT ? GTK_STATE_PRELIGHT :
         (flags & GTK_CELL_RENDERER_INSENSITIVE ? GTK_STATE_INSENSITIVE : GTK_STATE_NORMAL));
 
+      cairo_save (cr);
+
+      gdk_cairo_rectangle (cr, background_area);
+      cairo_clip (cr);
+
       gtk_paint_focus (gtk_widget_get_style (widget), cr, 
                       renderer_state, widget,
                       gtk_cell_area_get_style_detail (area),
                       render_data.focus_rect.x,     render_data.focus_rect.y,
                       render_data.focus_rect.width, render_data.focus_rect.height);
+
+      cairo_restore (cr);
     }
 }