[PATCH weston v3 04/15] tests: Add surface checks

Pekka Paalanen ppaalanen at gmail.com
Fri May 22 00:35:50 PDT 2015


On Thu, 21 May 2015 14:46:07 -0700
Bryce Harrington <bryce at osg.samsung.com> wrote:

> One more change requested by pq...
> 
> ------------------------------------------------------------------------
> 
> tests: Check that the PNG file's stride matches our internal assumption
> 
> Signed-off-by: Bryce Harrington <bryce at osg.samsung.com>
> ---
>  tests/internal-screenshot-test.c | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/tests/internal-screenshot-test.c b/tests/internal-screenshot-test.c
> index b570733..f2e6c16 100644
> --- a/tests/internal-screenshot-test.c
> +++ b/tests/internal-screenshot-test.c
> @@ -75,6 +75,7 @@ load_surface_from_png(const char *fname) {
>  	cairo_surface_t *reference_cairo_surface;
>  	cairo_status_t status;
>  	size_t source_data_size;
> +	int bpp;
>  	int stride;
>  
>  	printf("Loading reference image %s\n", fname);
> @@ -98,6 +99,15 @@ load_surface_from_png(const char *fname) {
>  	stride = cairo_image_surface_get_stride(reference_cairo_surface);
>  	source_data_size = stride * reference->height;
>  
> +	/* Check that the file's stride matches our assumption */
> +	bpp = 4;
> +	if (stride != bpp * reference->width) {
> +		printf("Mismatched stride for screenshot reference image %s\n", fname);
> +		cairo_surface_destroy(reference_cairo_surface);
> +		free(reference);
> +		return NULL;
> +	}
> +
>  	/* Allocate new buffer for our weston reference, and copy the data from
>  	   the cairo surface so we can destroy it */
>  	reference->data = xzalloc(source_data_size);

Yup, this is a good stop-gap fix.

Thanks,
pq


More information about the wayland-devel mailing list