aboutsummaryrefslogtreecommitdiffstats
path: root/main/gdk-pixbuf/gdk-pixbuf-libpng15.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/gdk-pixbuf/gdk-pixbuf-libpng15.patch')
-rw-r--r--main/gdk-pixbuf/gdk-pixbuf-libpng15.patch67
1 files changed, 67 insertions, 0 deletions
diff --git a/main/gdk-pixbuf/gdk-pixbuf-libpng15.patch b/main/gdk-pixbuf/gdk-pixbuf-libpng15.patch
new file mode 100644
index 0000000000..424938e815
--- /dev/null
+++ b/main/gdk-pixbuf/gdk-pixbuf-libpng15.patch
@@ -0,0 +1,67 @@
+From e6a5b2472a4a5d554b587dfcb798b95035caa6fd Mon Sep 17 00:00:00 2001
+From: Maarten Bosmans <mkbosmans@gmail.com>
+Date: Mon, 24 Jan 2011 10:39:22 +0000
+Subject: Use png_jmpbuf macro
+
+This makes the png loader compatible with libpng 1.5
+---
+diff --git a/gdk-pixbuf/io-png.c b/gdk-pixbuf/io-png.c
+index 79c81fd..76f3304 100644
+--- a/gdk-pixbuf/io-png.c
++++ b/gdk-pixbuf/io-png.c
+@@ -183,7 +183,7 @@ png_simple_error_callback(png_structp png_save_ptr,
+ error_msg);
+ }
+
+- longjmp (png_save_ptr->jmpbuf, 1);
++ longjmp (png_jmpbuf(png_save_ptr), 1);
+ }
+
+ static void
+@@ -287,7 +287,7 @@ gdk_pixbuf__png_image_load (FILE *f, GError **error)
+ return NULL;
+ }
+
+- if (setjmp (png_ptr->jmpbuf)) {
++ if (setjmp (png_jmpbuf(png_ptr))) {
+ g_free (rows);
+
+ if (pixbuf)
+@@ -459,7 +459,7 @@ gdk_pixbuf__png_image_begin_load (GdkPixbufModuleSizeFunc size_func,
+ return NULL;
+ }
+
+- if (setjmp (lc->png_read_ptr->jmpbuf)) {
++ if (setjmp (png_jmpbuf(lc->png_read_ptr))) {
+ if (lc->png_info_ptr)
+ png_destroy_read_struct(&lc->png_read_ptr, NULL, NULL);
+ g_free(lc);
+@@ -531,7 +531,7 @@ gdk_pixbuf__png_image_load_increment(gpointer context,
+ lc->error = error;
+
+ /* Invokes our callbacks as needed */
+- if (setjmp (lc->png_read_ptr->jmpbuf)) {
++ if (setjmp (png_jmpbuf(lc->png_read_ptr))) {
+ lc->error = NULL;
+ return FALSE;
+ } else {
+@@ -769,7 +769,7 @@ png_error_callback(png_structp png_read_ptr,
+ error_msg);
+ }
+
+- longjmp (png_read_ptr->jmpbuf, 1);
++ longjmp (png_jmpbuf(png_read_ptr), 1);
+ }
+
+ static void
+@@ -978,7 +978,7 @@ static gboolean real_save_png (GdkPixbuf *pixbuf,
+ success = FALSE;
+ goto cleanup;
+ }
+- if (setjmp (png_ptr->jmpbuf)) {
++ if (setjmp (png_jmpbuf(png_ptr))) {
+ success = FALSE;
+ goto cleanup;
+ }
+--
+cgit v0.9