From 2fd2a2214829a2edefa5df2c6a09ded48fe7bd3b Mon Sep 17 00:00:00 2001
From: scuri <scuri>
Date: Thu, 17 Jun 2010 21:42:12 +0000
Subject: *** empty log message ***

---
 src/cairo/cdcairo.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

(limited to 'src/cairo')

diff --git a/src/cairo/cdcairo.c b/src/cairo/cdcairo.c
index 1b7f867..869e0ed 100644
--- a/src/cairo/cdcairo.c
+++ b/src/cairo/cdcairo.c
@@ -155,6 +155,7 @@ static int cdclip(cdCtxCanvas *ctxcanvas, int mode)
   switch (mode)
   {
   case CD_CLIPOFF:
+    cairo_rectangle(ctxcanvas->cr, 0, 0, ctxcanvas->canvas->w, ctxcanvas->canvas->h);
     break;
   case CD_CLIPAREA:
       cairo_rectangle(ctxcanvas->cr, ctxcanvas->canvas->clip_frect.xmin, 
@@ -203,9 +204,6 @@ static int cdclip(cdCtxCanvas *ctxcanvas, int mode)
     break;
   }
 
-  if (mode != CD_CLIPOFF)
-    cairo_clip(ctxcanvas->cr);
-
   return mode;
 }
 
@@ -622,6 +620,8 @@ static void cdclear(cdCtxCanvas* ctxcanvas)
   cairo_save (ctxcanvas->cr);
   cairo_identity_matrix(ctxcanvas->cr);
   cairo_reset_clip(ctxcanvas->cr);
+  cairo_rectangle(ctxcanvas->cr, 0, 0, ctxcanvas->canvas->w, ctxcanvas->canvas->h);
+  cairo_clip(ctxcanvas->cr);
   cairo_set_source_rgba(ctxcanvas->cr, cdCairoGetRed(ctxcanvas->canvas->background), cdCairoGetGreen(ctxcanvas->canvas->background), cdCairoGetBlue(ctxcanvas->canvas->background), cdCairoGetAlpha(ctxcanvas->canvas->background));
   cairo_set_operator (ctxcanvas->cr, CAIRO_OPERATOR_SOURCE);
   cairo_paint (ctxcanvas->cr);  /* paints the current source everywhere within the current clip region. */
-- 
cgit v1.2.3