http://bugs.winehq.org/show_bug.cgi?id=9366
--- Comment #12 from Nikolay Sivov bunglehead@gmail.com 2008-12-07 18:01:20 --- (In reply to comment #11)
Could it be that there's something wrong with one of the GdipImage functions? A lot of them seem to be referencing a NULL image. This part in particular seems suspicious:
trace:gdiplus:GdipCreateBitmapFromStream 0x16a390 0x32f384 trace:gdiplus:GdipLoadImageFromStream 0x16a390 0x32f384 err:ole:OLEPictureImpl_Load Failure while reading picture header (hr is 0, nread is 0). err:ole:OleLoadPicture IPersistStream_Load failed trace:gdiplus:GdipLoadImageFromStream Could not load picture trace:gdiplus:GdipCreateSolidFill (d9d1d1d1, 0x32f370) trace:gdiplus:GdipCreateSolidFill (e2b4b4b4, 0x32f374) trace:gdiplus:GdipCloneImage (nil), 0x32f354
Maybe you're right. That's what I've found:
--- statstg.cbSize.QuadPart = 8; }
+ TRACE("Stream size = %llu\n", statstg.cbSize.QuadPart);
toread = 0; headerread = 0; ---
adding this to OLEPictureImpl_Load shows that we're trying to read header having 0 sized stream. Here's a IStream_Stat to claim I think. Cause it returns with S_OK giving us a zero stream length, what seems to be wrong since an application starts with loading images..