summaryrefslogtreecommitdiffstats
path: root/gfx/cairo/zero-sized.patch
diff options
context:
space:
mode:
authorMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
committerMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
commit5f8de423f190bbb79a62f804151bc24824fa32d8 (patch)
tree10027f336435511475e392454359edea8e25895d /gfx/cairo/zero-sized.patch
parent49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff)
downloadUXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip
Add m-esr52 at 52.6.0
Diffstat (limited to 'gfx/cairo/zero-sized.patch')
-rw-r--r--gfx/cairo/zero-sized.patch39
1 files changed, 39 insertions, 0 deletions
diff --git a/gfx/cairo/zero-sized.patch b/gfx/cairo/zero-sized.patch
new file mode 100644
index 000000000..bdd6ca798
--- /dev/null
+++ b/gfx/cairo/zero-sized.patch
@@ -0,0 +1,39 @@
+diff --git a/src/cairo-image-surface.c b/src/cairo-image-surface.c
+index e9e544d..cde68a1 100644
+--- a/src/cairo-image-surface.c
++++ b/src/cairo-image-surface.c
+@@ -324,8 +324,8 @@ _cairo_image_surface_create_with_pixman_format (unsigned char *data,
+ cairo_surface_t *surface;
+ pixman_image_t *pixman_image;
+
+- pixman_image = pixman_image_create_bits (pixman_format, width, height,
+- (uint32_t *) data, stride);
++ pixman_image = pixman_image_create_bits (pixman_format, width ? width : 1, height ? height : 1,
++ (uint32_t *) data, stride ? stride : 4);
+
+ if (unlikely (pixman_image == NULL))
+ return _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_NO_MEMORY));
+diff --git a/src/cairo-xlib-surface.c b/src/cairo-xlib-surface.c
+index f86a133..ddcb600 100644
+--- a/src/cairo-xlib-surface.c
++++ b/src/cairo-xlib-surface.c
+@@ -675,7 +675,8 @@ _get_image_surface (cairo_xlib_surface_t *surface,
+
+ pixmap = XCreatePixmap (surface->dpy,
+ surface->drawable,
+- extents.width, extents.height,
++ extents.width <= 0 ? 1 : extents.width,
++ extents.height <= 0 ? 1 : extents.height,
+ surface->depth);
+ if (pixmap) {
+ XCopyArea (surface->dpy, surface->drawable, pixmap, surface->gc,
+@@ -686,7 +687,8 @@ _get_image_surface (cairo_xlib_surface_t *surface,
+ ximage = XGetImage (surface->dpy,
+ pixmap,
+ 0, 0,
+- extents.width, extents.height,
++ extents.width <= 0 ? 1 : extents.width,
++ extents.height <= 0 ? 1 : extents.height,
+ AllPlanes, ZPixmap);
+
+ XFreePixmap (surface->dpy, pixmap);