123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- --- imlib2-1.4.4.orig/src/modules/loaders/loader_png.c 2010-02-11 21:02:11.000000000 +0100
- +++ imlib2-1.4.4/src/modules/loaders/loader_png.c 2011-03-29 21:33:23.221818699 +0200
- @@ -58,7 +58,7 @@ load(ImlibImage * im, ImlibProgressFunct
- 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 @@ save(ImlibImage * im, ImlibProgressFunct
- 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;
- @@ -265,7 +265,7 @@ save(ImlibImage * im, ImlibProgressFunct
- 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 @@ save(ImlibImage * im, ImlibProgressFunct
- }
-
- /* 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 @@ save(ImlibImage * im, ImlibProgressFunct
- 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 @@ save(ImlibImage * im, ImlibProgressFunct
- 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 @@ save(ImlibImage * im, ImlibProgressFunct
- 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;
|