[nautilus] Fix build with GTK+3 master, use cairo_region_t.



commit 3b671558f1d8ac1ee72e8af13d4ede6ab549a400
Author: Cosimo Cecchi <cosimoc gnome org>
Date:   Thu Jul 1 16:49:38 2010 +0200

    Fix build with GTK+3 master, use cairo_region_t.

 eel/eel-canvas-rect-ellipse.c |   12 ++++--------
 eel/eel-canvas.c              |    4 ++--
 eel/eel-editable-label.c      |    8 ++++----
 3 files changed, 10 insertions(+), 14 deletions(-)
---
diff --git a/eel/eel-canvas-rect-ellipse.c b/eel/eel-canvas-rect-ellipse.c
index 96e76fe..0d0c198 100644
--- a/eel/eel-canvas-rect-ellipse.c
+++ b/eel/eel-canvas-rect-ellipse.c
@@ -984,9 +984,8 @@ eel_canvas_rect_draw (EelCanvasItem *item, GdkDrawable *drawable, GdkEventExpose
 	
 	if (re->fill_set) {
 		if ((re->fill_color & 0xff) != 255) {
-			GdkRectangle *rectangles;
 			gint i, n_rectangles;
-			GdkRectangle draw_rect;
+			GdkRectangle draw_rect, rect;
 			GdkRectangle part;
 
 			draw_rect.x = cx1;
@@ -996,12 +995,11 @@ eel_canvas_rect_draw (EelCanvasItem *item, GdkDrawable *drawable, GdkEventExpose
 			
 			/* For alpha mode, only render the parts of the region
 			   that are actually exposed */
-			gdk_region_get_rectangles (expose->region,
-						   &rectangles,
-						   &n_rectangles);
+			n_rectangles = cairo_region_num_rectangles (expose->region);
 
 			for (i = 0; i < n_rectangles; i++) {
-				if (gdk_rectangle_intersect (&rectangles[i],
+				cairo_region_get_rectangle (expose->region, i, &rect);
+				if (gdk_rectangle_intersect (&rect,
 							     &draw_rect,
 							     &part)) {
 					render_rect_alpha (EEL_CANVAS_RECT (item),
@@ -1011,8 +1009,6 @@ eel_canvas_rect_draw (EelCanvasItem *item, GdkDrawable *drawable, GdkEventExpose
 							   re->fill_color);
 				}
 			}
-			
-			g_free (rectangles);
 		} else {
 			if (re->fill_stipple)
 				eel_canvas_set_stipple_origin (item->canvas, re->fill_gc);
diff --git a/eel/eel-canvas.c b/eel/eel-canvas.c
index 0bdf451..c0dee4e 100644
--- a/eel/eel-canvas.c
+++ b/eel/eel-canvas.c
@@ -1483,13 +1483,13 @@ eel_canvas_group_draw (EelCanvasItem *item, GdkDrawable *drawable,
 		if ((child->flags & EEL_CANVAS_ITEM_MAPPED) &&
 		    (EEL_CANVAS_ITEM_GET_CLASS (child)->draw)) {
 			GdkRectangle child_rect;
-			
+
 			child_rect.x = child->x1;
 			child_rect.y = child->y1;
 			child_rect.width = child->x2 - child->x1 + 1;
 			child_rect.height = child->y2 - child->y1 + 1;
 
-			if (gdk_region_rect_in (expose->region, &child_rect) != GDK_OVERLAP_RECTANGLE_OUT)
+			if (cairo_region_contains_rectangle (expose->region, &child_rect) != CAIRO_REGION_OVERLAP_OUT)
 				(* EEL_CANVAS_ITEM_GET_CLASS (child)->draw) (child, drawable, expose);
 		}
 	}
diff --git a/eel/eel-editable-label.c b/eel/eel-editable-label.c
index b21bfea..9a3df03 100644
--- a/eel/eel-editable-label.c
+++ b/eel/eel-editable-label.c
@@ -1579,7 +1579,7 @@ eel_editable_label_draw_cursor (EelEditableLabel  *label, gint xoffset, gint yof
 	}
       else /* Block cursor */
 	{
-          GdkRegion *clip;
+          cairo_region_t *clip;
 
 	  gdk_draw_rectangle (gtk_widget_get_window (widget), label->primary_cursor_gc, TRUE,
 			      xoffset + PANGO_PIXELS (strong_pos.x),
@@ -1607,7 +1607,7 @@ eel_editable_label_draw_cursor (EelEditableLabel  *label, gint xoffset, gint yof
 					   NULL);
 
 	      gdk_gc_set_clip_region (label->primary_cursor_gc, NULL);
-	      gdk_region_destroy (clip);
+	      cairo_region_destroy (clip);
 	    }
 	}	  
     }
@@ -1649,7 +1649,7 @@ eel_editable_label_expose (GtkWidget      *widget,
         {
           gint range[2];
 	  const char *text;
-          GdkRegion *clip;
+          cairo_region_t *clip;
 	  GtkStateType state;
 	  
           range[0] = label->selection_anchor;
@@ -1694,7 +1694,7 @@ eel_editable_label_expose (GtkWidget      *widget,
                                        &style->base[state]);
 
           gdk_gc_set_clip_region (style->black_gc, NULL);
-          gdk_region_destroy (clip);
+          cairo_region_destroy (clip);
         }
       else if (gtk_widget_has_focus (widget))
 	eel_editable_label_draw_cursor (label, x, y);



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