[cairo-commit] src/cairo-gstate.c

Chris Wilson ickle at kemper.freedesktop.org
Sun Jun 6 08:54:14 PDT 2010


 src/cairo-gstate.c |   15 +--------------
 1 file changed, 1 insertion(+), 14 deletions(-)

New commits:
commit ffeeae462ea0f8c7af326f3bcc66b88881bd8fdd
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Sun Jun 6 16:50:34 2010 +0100

    Revert "gstate: reduce a couple more operators"
    
    This reverts commit a85c6c1e36273d534f01ade0714b0592b6bed5ab.
    
    Soeren found that this introduced a regression when displaying pages in
    evince, and since I'm not overly enthralled at the added complexity here
    for very little gain, remove the reduction and leave it clear for a more
    complete solution in the future.

diff --git a/src/cairo-gstate.c b/src/cairo-gstate.c
index 459df3b..119bc07 100644
--- a/src/cairo-gstate.c
+++ b/src/cairo-gstate.c
@@ -1008,21 +1008,8 @@ _reduce_op (cairo_gstate_t *gstate)
     const cairo_pattern_t *pattern;
 
     op = gstate->op;
-    if (op == CAIRO_OPERATOR_IN &&
-	gstate->target->is_clear &&
-	gstate->target->content & CAIRO_CONTENT_ALPHA)
-    {
-	return CAIRO_OPERATOR_CLEAR;
-    }
-
-    if (op != CAIRO_OPERATOR_SOURCE &&
-	! (gstate->target->is_clear &&
-	   (op == CAIRO_OPERATOR_OVER ||
-	    (op == CAIRO_OPERATOR_ADD &&
-	     gstate->target->content & CAIRO_CONTENT_ALPHA))))
-    {
+    if (op != CAIRO_OPERATOR_SOURCE)
 	return op;
-    }
 
     pattern = gstate->source;
     if (pattern->type == CAIRO_PATTERN_TYPE_SOLID) {


More information about the cairo-commit mailing list