summaryrefslogtreecommitdiff
path: root/graphics/cairo/patches/patch-ad
blob: fcf66041b0e0ec437597e55e22a5d48d120a542f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
$NetBSD: patch-ad,v 1.5 2008/08/25 15:36:18 joerg Exp $

--- src/cairo-png.c.orig	2008-04-11 23:07:25.000000000 +0200
+++ src/cairo-png.c
@@ -119,6 +119,13 @@ png_simple_warning_callback (png_structp
 }
 
 
+/* Starting with libpng-1.2.30, we must explicitly specify an output_flush_fn.
+ * Otherwise, we will segfault if we are writing to a stream. */
+static void
+png_simple_output_flush_fn (png_structp png_ptr)
+{
+}
+
 static cairo_status_t
 write_png (cairo_surface_t	*surface,
 	   png_rw_ptr		write_func,
@@ -179,7 +186,7 @@ write_png (cairo_surface_t	*surface,
 	goto BAIL3;
 #endif
 
-    png_set_write_fn (png, closure, write_func, NULL);
+    png_set_write_fn (png, closure, write_func, png_simple_output_flush_fn);
 
     switch (image->format) {
     case CAIRO_FORMAT_ARGB32: