From 61c2ef40f711f0e452bd8baa67813c454e5a7658 Mon Sep 17 00:00:00 2001 From: Michael Natterer Date: Sun, 3 Nov 2013 15:21:22 +0100 Subject: [PATCH] Bug 711329 - Artifacts on crop tool's passepartout when set to "allow growing" Calculate GimpCanvasPassepartout's extents using a cairo_region_xor() of the crop rectangle and the image extents, instead of a cairo_region_subtract(). This fixes the artifacts and has the nice side effect that the passepartout now colors both the parts of the image that will be removed *and* the parts of the image that will be newly added. --- app/display/gimpcanvaspassepartout.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/display/gimpcanvaspassepartout.c b/app/display/gimpcanvaspassepartout.c index 558240b9a5..cfa0b94b98 100644 --- a/app/display/gimpcanvaspassepartout.c +++ b/app/display/gimpcanvaspassepartout.c @@ -92,7 +92,7 @@ gimp_canvas_passe_partout_get_extents (GimpCanvasItem *item) inner = GIMP_CANVAS_ITEM_CLASS (parent_class)->get_extents (item); - cairo_region_subtract (outer, inner); + cairo_region_xor (outer, inner); return outer; }