[cairo-commit] cairo/src cairo-gstate.c, 1.170, 1.171 cairo-pdf-surface.c, 1.60, 1.61

Kristian Høgsberg commit at pdx.freedesktop.org
Mon Oct 10 09:36:41 PDT 2005


Committed by: krh

Update of /cvs/cairo/cairo/src
In directory gabe:/tmp/cvs-serv11614/src

Modified Files:
	cairo-gstate.c cairo-pdf-surface.c 
Log Message:
2005-10-10  Kristian Høgsberg  <krh at redhat.com>

        * src/cairo-gstate.c (_cairo_gstate_fill): Transform source
        pattern for _cairo_surface_fill_path() also (#4673).

        * test/ps-surface.c, test/pdf-surface.c (draw): Use
        cairo_fill_preserve() instead of cairo_save()/cairo_restore().

        * src/cairo-pdf-surface.c (emit_surface_pattern): Add missing
        return values.



Index: cairo-gstate.c
===================================================================
RCS file: /cvs/cairo/cairo/src/cairo-gstate.c,v
retrieving revision 1.170
retrieving revision 1.171
diff -u -d -r1.170 -r1.171
--- cairo-gstate.c	6 Sep 2005 22:19:00 -0000	1.170
+++ cairo-gstate.c	10 Oct 2005 16:36:39 -0000	1.171
@@ -1558,6 +1558,7 @@
 {
     cairo_status_t status;
     cairo_traps_t traps;
+    cairo_pattern_union_t pattern;
 
     if (gstate->source->status)
 	return gstate->source->status;
@@ -1565,14 +1566,18 @@
     status = _cairo_surface_set_clip (gstate->target, &gstate->clip);
     if (status)
 	return status;
+  
+    _cairo_gstate_copy_transformed_source (gstate, &pattern.base);
 
     status = _cairo_surface_fill_path (gstate->operator,
-				       gstate->source,
+				       &pattern.base,
 				       gstate->target,
 				       path,
 				       gstate->fill_rule,
 				       gstate->tolerance);
     
+    _cairo_pattern_fini (&pattern.base);
+
     if (status != CAIRO_INT_STATUS_UNSUPPORTED)
 	return status;
 

Index: cairo-pdf-surface.c
===================================================================
RCS file: /cvs/cairo/cairo/src/cairo-pdf-surface.c,v
retrieving revision 1.60
retrieving revision 1.61
diff -u -d -r1.60 -r1.61
--- cairo-pdf-surface.c	9 Oct 2005 16:18:16 -0000	1.60
+++ cairo-pdf-surface.c	10 Oct 2005 16:36:39 -0000	1.61
@@ -797,13 +797,12 @@
     unsigned int id, alpha;
     cairo_matrix_t pm;
 
-    if (pattern->surface->backend == &cairo_pdf_surface_backend) {
-	return;
-    }
+    if (pattern->surface->backend == &cairo_pdf_surface_backend)
+	return CAIRO_STATUS_SUCCESS;
 
     status = _cairo_surface_acquire_source_image (pattern->surface, &image, &image_extra);
     if (status)
-	return;
+	return status;
 
     _cairo_pdf_document_close_stream (document);
 



More information about the cairo-commit mailing list