https://bugs.winehq.org/show_bug.cgi?id=30615
Malte Jürgens maltejur@dismail.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |maltejur@dismail.de
--- Comment #12 from Malte Jürgens maltejur@dismail.de --- I just had the same problem with the latest Illustrator 22 and in the process of trying to apply the patch by Jan Boysen, I found something interesting out.
If the padding is added in the NtGdiCreateBitmap function, I can reproduce the same error with the Photoshop 22 layer preview images. The code would look like this:
--- a/dlls/win32u/bitmap.c +++ b/dlls/win32u/bitmap.c @@ -116,6 +116,9 @@ HBITMAP WINAPI NtGdiCreateBitmap( INT width, INT height, UINT planes, if (width < 0) width = -width;
+ if (width % 4 > 0) + width += 4 - (width % 4); + if (planes != 1) { FIXME("planes = %d\n", planes);
But if instead the padding is only added in the CreateBitmap function, both Illustrator and Photoshop work fine. So:
--- a/dlls/gdi32/objects.c +++ b/dlls/gdi32/objects.c @@ -610,6 +610,9 @@ HBITMAP WINAPI CreateBitmap( INT width, INT height, UINT planes, if (!width || !height) return GetStockObject( STOCK_LAST + 1 ); /* default 1x1 bitmap */
+ if (width % 4 > 0) + width += 4 - (width % 4); + return NtGdiCreateBitmap( width, height, planes, bpp, bits ); }
I am not able to test if this also fixes the Audition error, but I would assume it does.