http://bugs.winehq.org/show_bug.cgi?id=30615
Jan Boysen jan@lugfl.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |gdi32
--- Comment #2 from Jan Boysen jan@lugfl.de 2012-05-11 13:28:49 CDT --- I have done some further investigations on this using the wine debugger and was able to investigate a possible "bug"
It seems Native gdi is padding the requested bitmap width in CreateBitmapIndirect() to next even 4 pixels.
This little quick and dirty patch helps to draw all Audition interfaces cleanly:
--- dlls/gdi32/bitmap.c.orig 2012-05-11 20:23:35.645274907 +0200 +++ dlls/gdi32/bitmap.c 2012-05-11 20:23:05.201276520 +0200 @@ -211,6 +211,9 @@ bm.bmHeight = -bm.bmHeight; if (bm.bmWidth < 0) bm.bmWidth = -bm.bmWidth; + + if(bm.bmWidth%4 >0) + bm.bmWidth += 4-(bm.bmWidth%4); } TRACE("h:%d, w:%d\n", bm.bmHeight, bm.bmWidth);
This theory would have to be verified by a testcase with native windows. Maybe by checking the attributes or size of the returned HBITMAP.
Audition requests a bitmap of 170x20 pixels but seems to fill the pixeldata for 172x20 pixels.