From: Andreas Monzner Date: Fri, 6 Jun 2008 11:18:17 +0000 (+0000) Subject: only allow gray pngs or pngs with palette X-Git-Tag: 2.6.0~1156 X-Git-Url: https://git.cweiske.de/enigma2.git/commitdiff_plain/ee91b5df227327a79292d130410316218318f9d5 only allow gray pngs or pngs with palette --- diff --git a/lib/gdi/epng.cpp b/lib/gdi/epng.cpp index 6b08c2d8..0f8ea568 100644 --- a/lib/gdi/epng.cpp +++ b/lib/gdi/epng.cpp @@ -70,9 +70,7 @@ int loadPNG(ePtr &result, const char *filename) png_get_IHDR(png_ptr, info_ptr, &width, &height, &bit_depth, &color_type, 0, 0, 0); -// eDebug("%s: %dx%dx%d png, %d", filename, (int)width, (int)height, (int)bit_depth, color_type); - - if (color_type != 6) + if (color_type == PNG_COLOR_TYPE_GRAY || color_type & PNG_COLOR_MASK_PALETTE) { result=new gPixmap(eSize(width, height), bit_depth); gSurface *surface = result->surface; @@ -117,8 +115,10 @@ int loadPNG(ePtr &result, const char *filename) } surface->clut.start=0; png_read_end(png_ptr, end_info); - } else + } else { result=0; + eDebug("%s: %dx%dx%d png, %d", filename, (int)width, (int)height, (int)bit_depth, color_type); + } png_destroy_read_struct(&png_ptr, &info_ptr,&end_info); fclose(fp);