cairo: Added 1.4.14 with pixman memory leak patch, with -1 preference.
authorLeon Woestenberg <leon.woestenberg@gmail.com>
Fri, 15 Feb 2008 22:17:55 +0000 (22:17 +0000)
committerLeon Woestenberg <leon.woestenberg@gmail.com>
Fri, 15 Feb 2008 22:17:55 +0000 (22:17 +0000)
packages/cairo/cairo-1.4.14/.mtn2git_empty [new file with mode: 0644]
packages/cairo/cairo-1.4.14/0001-Fix-for-a-memory-leak-in-pixman.patch [new file with mode: 0644]
packages/cairo/cairo_1.4.14.bb [new file with mode: 0644]

diff --git a/packages/cairo/cairo-1.4.14/.mtn2git_empty b/packages/cairo/cairo-1.4.14/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/cairo/cairo-1.4.14/0001-Fix-for-a-memory-leak-in-pixman.patch b/packages/cairo/cairo-1.4.14/0001-Fix-for-a-memory-leak-in-pixman.patch
new file mode 100644 (file)
index 0000000..686ab7c
--- /dev/null
@@ -0,0 +1,32 @@
+From 7647f29a2a3b69592e38f50890a96d8deeaa2dbb Mon Sep 17 00:00:00 2001\r
+From: Jan Slupski <jslupski@juljas.net>\r
+Date: Fri, 15 Feb 2008 00:55:30 +0100\r
+Subject: [PATCH] Fix for a memory leak in pixman.\r
+\r
+Port of a 1.6 fix for a memory leak in pixman_region_init_rects/pixman_rect_alloc\r
+when the count of boxes is 0.\r
+---\r
+ pixman/src/pixregion.c |    9 +++++++++\r
+ 1 files changed, 9 insertions(+), 0 deletions(-)\r
+\r
+diff --git a/pixman/src/pixregion.c b/pixman/src/pixregion.c\r
+index 1ed3ad7..d6caf6c 100644\r
+--- a/pixman/src/pixregion.c\r
++++ b/pixman/src/pixregion.c\r
+@@ -355,6 +355,15 @@ pixman_region_init_rects(pixman_region16_t *region, pixman_box16_t *boxes, int c\r
+     }\r
\r
+     pixman_region_init(region);\r
++\r
++    /* if it's 0, don't call pixman_rect_alloc -- 0 rectangles is\r
++     * a special case, and causing pixman_rect_alloc would cause\r
++     * us to leak memory (because the 0-rect case should be the\r
++     * static pixman_region_emptyData data).\r
++     */\r
++    if (count == 0)\r
++        return PIXMAN_REGION_STATUS_SUCCESS;\r
++\r
+     if (!pixman_rect_alloc(region, count))\r
+       return PIXMAN_REGION_STATUS_FAILURE;\r
\r
+
diff --git a/packages/cairo/cairo_1.4.14.bb b/packages/cairo/cairo_1.4.14.bb
new file mode 100644 (file)
index 0000000..b0f9fe8
--- /dev/null
@@ -0,0 +1,9 @@
+require cairo.inc
+
+DEFAULT_PREFERENCE = "-1"
+
+SRC_URI = "http://cairographics.org/releases/cairo-${PV}.tar.gz \
+file://0001-Fix-for-a-memory-leak-in-pixman.patch;patch=1;p=1"
+
+PR = "r0"
+