http://bugs.winehq.org/show_bug.cgi?id=24568
--- Comment #4 from Damjan Jovanovic damjan.jov@gmail.com 2010-10-06 00:29:01 CDT --- The error comes from libpng's pngread.c, function png_read_row:
png_benign_error(png_ptr, "Extra compressed data");
The saga continues in pngconf.h:
/* Enabled in 1.4.0. */ #ifdef PNG_ALLOW_BENIGN_ERRORS # define png_benign_error png_warning # define png_chunk_benign_error png_chunk_warning #else # ifndef PNG_BENIGN_ERRORS_SUPPORTED # define png_benign_error png_error # define png_chunk_benign_error png_chunk_error # endif #endif
Since user_error_fn gets called in windowscodecs, benign errors must be disabled in Ubuntu.
The interesting thing is how Nautilus and Eye of Gnome both open the same image without problems. They both defer to libgtk's gdk-pixbuf image loader, which uses progressive PNG loading, which probably bypasses the problem somehow.
Since eMule is a widely used app on Wine, I can't submit a patch to get winemenubuilder to extract PNGs from ICO files until this is fixed.