--- src/gui/image/qpnghandler.cpp.orig	2010-01-16 20:58:18.000000000 +0100
+++ src/gui/image/qpnghandler.cpp	2010-01-16 21:00:10.000000000 +0100
@@ -205,7 +205,7 @@
                 image.setColor(i, qRgba(c,c,c,0xff));
             }
             if (png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)) {
-                const int g = info_ptr->trans_values.gray;
+                const int g = info_ptr->trans_color.gray;
                 if (g < ncols) {
                     image.setColor(g, 0);
                 }
@@ -234,7 +234,7 @@
                     info_ptr->palette[i].red,
                     info_ptr->palette[i].green,
                     info_ptr->palette[i].blue,
-                    info_ptr->trans[i]
+                    info_ptr->trans_alpha[i]
                    )
                );
                 i++;
@@ -454,9 +454,9 @@
     png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)
         if (outImage->depth()==32 && png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)) {
             QRgb trans = 0xFF000000 | qRgb(
-                (info_ptr->trans_values.red << 8 >> bit_depth)&0xff,
-                (info_ptr->trans_values.green << 8 >> bit_depth)&0xff,
-                (info_ptr->trans_values.blue << 8 >> bit_depth)&0xff);
+                (info_ptr->trans_color.red << 8 >> bit_depth)&0xff,
+                (info_ptr->trans_color.green << 8 >> bit_depth)&0xff,
+                (info_ptr->trans_color.blue << 8 >> bit_depth)&0xff);
             for (uint y=0; y<height; y++) {
                 for (uint x=0; x<info_ptr->width; x++) {
                     if (((uint**)jt)[y][x] == trans) {
