Author: andy
Date: 2011-11-11 17:46:08 -0700 (Fri, 11 Nov 2011)
New Revision: 2327

Added:
   trunk/imlib2/imlib2-1.4.4-libpng-1.5-1.patch
Log:
Added a patch to fix compiling imlib2-1.4.4 with libpng-1.5 installed

Added: trunk/imlib2/imlib2-1.4.4-libpng-1.5-1.patch
===================================================================
--- trunk/imlib2/imlib2-1.4.4-libpng-1.5-1.patch                                
(rev 0)
+++ trunk/imlib2/imlib2-1.4.4-libpng-1.5-1.patch        2011-11-12 00:46:08 UTC 
(rev 2327)
@@ -0,0 +1,86 @@
+Submitted By: Andrew Benton <[email protected]>
+Date: 20011-11-12
+Initial Package Version: 1.0
+Upstream Status: In SVN
+Origin: Upstream svn
+Description: Fixes compiling imlib2-1.4.4 with libpng-1.5 installed
+
+--- imlib2-1.4.4/src/modules/loaders/loader_png.c~     2010-02-11 
20:02:11.000000000 +0000
++++ imlib2-1.4.4/src/modules/loaders/loader_png.c      2011-08-04 
13:05:10.841105448 +0100
+@@ -58,7 +58,7 @@
+              fclose(f);
+              return 0;
+           }
+-        if (setjmp(png_ptr->jmpbuf))
++        if (setjmp(png_jmpbuf(png_ptr)))
+           {
+              png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+              fclose(f);
+@@ -238,7 +238,7 @@
+    png_structp         png_ptr;
+    png_infop           info_ptr;
+    DATA32             *ptr;
+-   int                 x, y, j;
++   int                 x, y, j, interlace;
+    png_bytep           row_ptr, data = NULL;
+    png_color_8         sig_bit;
+    int                 pl = 0;
+@@ -259,13 +259,13 @@
+         return 0;
+      }
+    info_ptr = png_create_info_struct(png_ptr);
+-   if (info_ptr == NULL)
++   if (!info_ptr)
+      {
+         fclose(f);
+         png_destroy_write_struct(&png_ptr, (png_infopp) NULL);
+         return 0;
+      }
+-   if (setjmp(png_ptr->jmpbuf))
++   if (setjmp(png_jmpbuf(png_ptr)))
+      {
+         fclose(f);
+         png_destroy_write_struct(&png_ptr, (png_infopp) & info_ptr);
+@@ -274,11 +274,11 @@
+      }
+ 
+    /* check whether we should use interlacing */
++   interlace = PNG_INTERLACE_NONE;
+    if ((tag = __imlib_GetTag(im, "interlacing")) && tag->val)
+      {
+ #ifdef PNG_WRITE_INTERLACING_SUPPORTED
+-          png_ptr->interlaced = PNG_INTERLACE_ADAM7;
+-          num_passes = png_set_interlace_handling(png_ptr);
++        interlace = PNG_INTERLACE_ADAM7;
+ #endif
+      }
+ 
+@@ -286,7 +286,7 @@
+    if (im->flags & F_HAS_ALPHA)
+      {
+         png_set_IHDR(png_ptr, info_ptr, im->w, im->h, 8,
+-                     PNG_COLOR_TYPE_RGB_ALPHA, png_ptr->interlaced,
++                     PNG_COLOR_TYPE_RGB_ALPHA, interlace,
+                      PNG_COMPRESSION_TYPE_BASE, PNG_FILTER_TYPE_BASE);
+ #ifdef WORDS_BIGENDIAN
+         png_set_swap_alpha(png_ptr);
+@@ -297,7 +297,7 @@
+    else
+      {
+         png_set_IHDR(png_ptr, info_ptr, im->w, im->h, 8, PNG_COLOR_TYPE_RGB,
+-                     png_ptr->interlaced, PNG_COMPRESSION_TYPE_BASE,
++                     interlace, PNG_COMPRESSION_TYPE_BASE,
+                      PNG_FILTER_TYPE_BASE);
+         data = malloc(im->w * 3 * sizeof(char));
+      }
+@@ -344,6 +344,10 @@
+    png_set_shift(png_ptr, &sig_bit);
+    png_set_packing(png_ptr);
+ 
++#ifdef PNG_WRITE_INTERLACING_SUPPORTED
++   num_passes = png_set_interlace_handling(png_ptr);
++#endif
++
+    for (pass = 0; pass < num_passes; pass++)
+      {
+       ptr = im->data;

-- 
http://linuxfromscratch.org/mailman/listinfo/patches
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to