diff -Naur qt-x11-free-3.3.8b-original/src/kernel/qpngio.cpp qt-x11-free-3.3.8b/src/kernel/qpngio.cpp --- qt-x11-free-3.3.8b-original/src/kernel/qpngio.cpp 2008-01-15 20:09:13.000000000 +0100 +++ qt-x11-free-3.3.8b/src/kernel/qpngio.cpp 2010-09-28 11:04:28.000000000 +0200 @@ -162,7 +162,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.setAlphaBuffer(TRUE); image.setColor(g, image.color(g) & RGB_MASK); @@ -190,7 +190,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++; @@ -324,9 +324,10 @@ png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS) if (image.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; ywidth; x++) { if (((uint**)jt)[y][x] == trans) {