aboutsummaryrefslogtreecommitdiff
path: root/pixman/test/alphamap.c
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2010-10-11 18:43:30 +0000
committermarha <marha@users.sourceforge.net>2010-10-11 18:43:30 +0000
commitdb79aa18ff5d8102d50bcf149e9a331bda3636ab (patch)
tree5b6c5f111398e368189abca365993ed093a96ede /pixman/test/alphamap.c
parent752f86c17342e07a858aea75106eb8316a226d89 (diff)
downloadvcxsrv-db79aa18ff5d8102d50bcf149e9a331bda3636ab.tar.gz
vcxsrv-db79aa18ff5d8102d50bcf149e9a331bda3636ab.tar.bz2
vcxsrv-db79aa18ff5d8102d50bcf149e9a331bda3636ab.zip
pixman update 11/10/2010
Diffstat (limited to 'pixman/test/alphamap.c')
-rw-r--r--pixman/test/alphamap.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/pixman/test/alphamap.c b/pixman/test/alphamap.c
index eb7a330f9..6d150cf69 100644
--- a/pixman/test/alphamap.c
+++ b/pixman/test/alphamap.c
@@ -45,15 +45,29 @@ format_name (pixman_format_code_t format)
return "<unknown - bug in alphamap.c>";
}
+static void
+on_destroy (pixman_image_t *image, void *data)
+{
+ uint32_t *bits = pixman_image_get_data (image);
+
+ fence_free (bits);
+}
+
static pixman_image_t *
make_image (pixman_format_code_t format)
{
uint32_t *bits;
uint8_t bpp = PIXMAN_FORMAT_BPP (format) / 8;
+ pixman_image_t *image;
bits = (uint32_t *)make_random_bytes (WIDTH * HEIGHT * bpp);
- return pixman_image_create_bits (format, WIDTH, HEIGHT, bits, WIDTH * bpp);
+ image = pixman_image_create_bits (format, WIDTH, HEIGHT, bits, WIDTH * bpp);
+
+ if (image && bits)
+ pixman_image_set_destroy_function (image, on_destroy, NULL);
+
+ return image;
}
static pixman_image_t *