Re: [PATCH] mask compositor: Set a check_composite method

"Bryce W. Harrington" <[email protected]>
Newsgroups gmane.comp.lib.cairo
Message-ID <[email protected]>
On Fri, Mar 14, 2014 at 02:26:58PM +0100, Uli Schlachter wrote:
> Commit 503b6b9e2ea6 added a check_composite method to the mask compositor, but
> only added it to one of the existing implementations. This commit fixes that.
> 
> In cairo-image-compositor.c, there is already a check_composite method which
> just returns success for the traps compositor. This commit makes the mask
> compositor use that one.
> 
> I don't want to say much about cairo-image-mask-compositor.c except that I
> wondered why this file and the file above both define a non-static function
> called _cairo_image_mask_compositor_get(). In my opinion, that file should just
> be deleted, since it confuses e.g. ctags, but I'll let someone else clean this
> up.
> 
> Fixes 493 crashes in the test suite for the test-mask target.
> 
> Signed-off-by: Uli Schlachter <[email protected]>

No insights from me about cairo-image-mask-compositor.c but +1 to
deleting it if it's entirely unused.  Can always be resurrected from VCS
if someone needs it.

Tested-by: Bryce Harrington <[email protected]>

> ---
>  src/cairo-image-compositor.c      | 2 +-
>  src/cairo-image-mask-compositor.c | 3 +++
>  2 files changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/src/cairo-image-compositor.c b/src/cairo-image-compositor.c
> index 03468a6..51ffc34 100644
> --- a/src/cairo-image-compositor.c
> +++ b/src/cairo-image-compositor.c
> @@ -1257,7 +1257,7 @@ _cairo_image_mask_compositor_get (void)
>  	compositor.draw_image_boxes = draw_image_boxes;
>  	compositor.fill_rectangles = fill_rectangles;
>  	compositor.fill_boxes = fill_boxes;
> -	//compositor.check_composite = check_composite;
> +	compositor.check_composite = check_composite;
>  	compositor.composite = composite;
>  	//compositor.lerp = lerp;
>  	//compositor.check_composite_boxes = check_composite_boxes;
> diff --git a/src/cairo-image-mask-compositor.c b/src/cairo-image-mask-compositor.c
> index 33fd6dd..bb990dd 100644
> --- a/src/cairo-image-mask-compositor.c
> +++ b/src/cairo-image-mask-compositor.c
> @@ -48,6 +48,8 @@
>  #include "cairo-compositor-private.h"
>  #include "cairo-region-private.h"
>  
> +#error This file isn't included in any Makefile
> +
>  static cairo_int_status_t
>  acquire (void *abstract_dst)
>  {
> @@ -398,6 +400,7 @@ _cairo_image_mask_compositor_get (void)
>  	compositor.draw_image = draw_image;
>  	compositor.fill_rectangles = fill_rectangles;
>  	compositor.fill_boxes = fill_boxes;
> +#error check_composite must never be NULL, because it gets called without a NULL pointer check
>  	//compositor.check_composite = check_composite;
>  	compositor.composite = composite;
>  	//compositor.check_composite_boxes = check_composite_boxes;
> -- 
> 1.9.0
> 
> -- 
> cairo mailing list
> [email protected]
> http://lists.cairographics.org/mailman/listinfo/cairo
-- 
cairo mailing list
[email protected]
http://lists.cairographics.org/mailman/listinfo/cairo
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.