# HG changeset patch # User Mark Brand # Date 1299100037 -3600 # Node ID 10b34eba8a06772a840614db9ad705083b9b6255 # Parent 7b1b796a871f9903da7acc903458a22b56da204d package gdk-pixbuf: libpng 1.5 compatibility diff -r 7b1b796a871f -r 10b34eba8a06 src/gdk-pixbuf-1-fixes.patch --- a/src/gdk-pixbuf-1-fixes.patch Wed Mar 02 20:14:39 2011 +0100 +++ b/src/gdk-pixbuf-1-fixes.patch Wed Mar 02 22:07:17 2011 +0100 @@ -31,3 +31,70 @@ -- 1.7.1 +From e6a5b2472a4a5d554b587dfcb798b95035caa6fd Mon Sep 17 00:00:00 2001 +From: Maarten Bosmans +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.8.3.4