diff -Nur digikam-1.1.0.orig/libs/dimg/loaders/pngloader.cpp digikam-1.1.0/libs/dimg/loaders/pngloader.cpp --- digikam-1.1.0.orig/libs/dimg/loaders/pngloader.cpp 2009-12-21 11:20:36.000000000 +0200 +++ digikam-1.1.0/libs/dimg/loaders/pngloader.cpp 2010-01-20 20:18:51.000000000 +0200 @@ -105,7 +105,7 @@ unsigned char buf[PNG_BYTES_TO_CHECK]; size_t membersRead = fread(buf, 1, PNG_BYTES_TO_CHECK, f); - if ((membersRead != PNG_BYTES_TO_CHECK) || !png_check_sig(buf, PNG_BYTES_TO_CHECK)) + if ((membersRead != PNG_BYTES_TO_CHECK) || png_sig_cmp(buf, 0, PNG_BYTES_TO_CHECK)) { kDebug() << "Not a PNG image file."; fclose(f); @@ -322,7 +322,7 @@ #ifdef ENABLE_DEBUG_MESSAGES kDebug() << "PNG in PNG_COLOR_TYPE_GRAY"; #endif - png_set_gray_1_2_4_to_8(png_ptr); + png_set_expand_gray_1_2_4_to_8(png_ptr); png_set_gray_to_rgb(png_ptr); if (QSysInfo::ByteOrder == QSysInfo::LittleEndian) // Intel diff -Nur digikam-1.1.0.orig/libs/threadimageio/thumbnailbasic.cpp digikam-1.1.0/libs/threadimageio/thumbnailbasic.cpp --- digikam-1.1.0.orig/libs/threadimageio/thumbnailbasic.cpp 2009-12-21 11:20:45.000000000 +0200 +++ digikam-1.1.0/libs/threadimageio/thumbnailbasic.cpp 2010-01-20 20:19:20.000000000 +0200 @@ -137,7 +137,7 @@ unsigned char buf[PNG_BYTES_TO_CHECK]; size_t itemsRead = fread(buf, 1, PNG_BYTES_TO_CHECK, f); - if (itemsRead != 1 || !png_check_sig(buf, PNG_BYTES_TO_CHECK)) + if (itemsRead != 1 || png_sig_cmp(buf, 0, PNG_BYTES_TO_CHECK)) { fclose(f); return qimage; @@ -232,7 +232,7 @@ { png_set_gray_to_rgb(png_ptr); if (png_get_bit_depth(png_ptr, info_ptr) < 8) - png_set_gray_1_2_4_to_8(png_ptr); + png_set_expand_gray_1_2_4_to_8(png_ptr); } int sizeOfUint = sizeof(unsigned int);