http://bugs.winehq.org/show_bug.cgi?id=11892
--- Comment #2 from bill lam cbill.lam@gmail.com 2008-06-12 20:03:35 --- problem still exist. it does not crash so that is a log necessary? The code the reproduce error is as following, threat it as pseudo-code if the syntax looks weird to you.
readimg1=: 3 : 0 BMP=. TOK=. ,_1 DATA=. i.4%~#BitmapData assi rc [ 'rc TOK'=. 2{. GdiplusStartup TOK;GdiplusStartupInput;0 GdipCreateBitmapFromFile (u:y,2#{.a.);BMP assi rc [ 'rc DATA'=. 0 _1{ GdipBitmapLockBits ({.BMP);(<0);ImageLockModeRead;PixelFormat32bppARGB;DATA 'w h s f p r'=. DATA 1!:2&2] DATA z=. |.^:(s<0) w&{."1^:(w~:|s%4) (h,|s%4)$memr p,((s<0)*s*<:h),(h*<.|s%4),JINT GdipBitmapUnLockBits ({.BMP);DATA GdipDisposeImage {.BMP GdiplusShutdown {.TOK z )
pay attention to the negative stride returned in GdipBitmapLockBits.