File xine-ui-libpng15.diff of Package xine-ui

diff -uNr xine-ui-0.99.6.orig/src/xitk/Imlib-light/load.c xine-ui-0.99.6/src/xitk/Imlib-light/load.c
--- xine-ui-0.99.6.orig/src/xitk/Imlib-light/load.c	2010-03-01 18:02:05.000000000 +0100
+++ xine-ui-0.99.6/src/xitk/Imlib-light/load.c	2012-05-26 14:28:07.263658527 +0200
@@ -61,7 +61,18 @@
       png_destroy_read_struct(&png_ptr, NULL, NULL);
       return NULL;
     }
-  if (info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA)
+  /* Not sure why is following check here. As far as I can see,
+     memory, which is info_ptr pointing to, is zeroed in 
+     png_create_info_struct(). In png.h: 
+     #define PNG_COLOR_MASK_COLOR      2
+     #define PNG_COLOR_MASK_ALPHA      4
+     #define PNG_COLOR_TYPE_RGB_ALPHA  (PNG_COLOR_MASK_COLOR | PNG_COLOR_MASK_ALPHA)
+     So following condition is never true?
+     Nevertheless:
+    */
+  png_get_IHDR(png_ptr, info_ptr, &ww, &hh, &bit_depth, &color_type,
+               NULL, NULL, NULL);
+  if (color_type == PNG_COLOR_TYPE_RGB_ALPHA)
     {
       png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
       return NULL;
openSUSE Build Service is sponsored by