summaryrefslogtreecommitdiff
path: root/src/cairo-traps-compositor.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2012-02-24 12:12:24 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2012-02-24 12:14:48 +0000
commit080bcfcb1a8f1c17340529e51b0d9dfaa9a66fa7 (patch)
treed82ced768b1566227d15c0ccda7ef28d4eb90f74 /src/cairo-traps-compositor.c
parentb079f18fade93472db83b4decf086e30711a86d3 (diff)
downloadcairo-080bcfcb1a8f1c17340529e51b0d9dfaa9a66fa7.tar.gz
{mask,traps}-composite: Restore unsetting of the is-clear flags for the mask
I forgot that creating any image by defaults results in pixman calloc'ing the pixel data and so cairo helpfully sets the is-clear flag on the surface. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/cairo-traps-compositor.c')
-rw-r--r--src/cairo-traps-compositor.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/cairo-traps-compositor.c b/src/cairo-traps-compositor.c
index 146089d02..a822f8e05 100644
--- a/src/cairo-traps-compositor.c
+++ b/src/cairo-traps-compositor.c
@@ -356,7 +356,7 @@ create_composite_mask (const cairo_traps_compositor_t *compositor,
return _cairo_surface_create_in_error (status);
}
- {
+ if (!surface->is_clear) {
cairo_boxes_t clear;
_cairo_boxes_init_from_rectangle (&clear,
@@ -423,6 +423,7 @@ create_composite_mask (const cairo_traps_compositor_t *compositor,
out:
compositor->release (surface);
cairo_surface_destroy (src);
+ surface->is_clear = FALSE;
return surface;
error: