http://bugs.winehq.org/show_bug.cgi?id=30615
Bug #: 30615 Summary: Audition CS6 (5.0) - strange UI graphics Product: Wine Version: 1.5.3 Platform: x86-64 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: jan@lugfl.de Classification: Unclassified
Created attachment 40072 --> http://bugs.winehq.org/attachment.cgi?id=40072 Audition CS6 Mixer screenshot
The UI looks very strange. Results with native and buildin gdiplus looks identical.
see attached screenshot.
A log of the console output is attached too.
http://bugs.winehq.org/show_bug.cgi?id=30615
--- Comment #1 from Jan Boysen jan@lugfl.de 2012-05-07 06:35:34 CDT --- Created attachment 40073 --> http://bugs.winehq.org/attachment.cgi?id=40073 console output
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.
http://bugs.winehq.org/show_bug.cgi?id=30615
Bruno Jesus 00cpxxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |00cpxxx@gmail.com
--- Comment #3 from Bruno Jesus 00cpxxx@gmail.com 2012-07-17 20:55:02 CDT --- You could take a +bitmap log in wine 1.5.9 to see the traces of CreateBitmapIndirect. In the last lines of the function it's printed the bitmap width, height and some other info. http://source.winehq.org/source/dlls/gdi32/bitmap.c#L223
http://bugs.winehq.org/show_bug.cgi?id=30615
--- Comment #4 from Jan Boysen jan@lugfl.de 2012-07-18 05:40:02 CDT --- Created attachment 41033 --> http://bugs.winehq.org/attachment.cgi?id=41033 DEBUG +bitmap log running Audition 5.0 with wine 1.5.9
Here is the requested log.
The issue persist in wine 1.5.9 and the same workaround still works and I did not see any side effects using it in wine yet.
https://bugs.winehq.org/show_bug.cgi?id=30615
--- Comment #5 from Austin English austinenglish@gmail.com --- This is your friendly reminder that there has been no bug activity for two years. Is this still an issue in current (1.7.25 or newer) wine?
https://bugs.winehq.org/show_bug.cgi?id=30615
--- Comment #6 from Jan Boysen jan@lugfl.de --- Just re-tested with wine 1.7.21 without m workaround applied and the issue still persists.
https://bugs.winehq.org/show_bug.cgi?id=30615
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, patch Status|UNCONFIRMED |NEW URL| |http://files.ngohq.com/av/A | |dobe_Audition_CS6.rar CC| |focht@gmx.net Summary|Audition CS6 (5.0) - |Adobe Audition CS6 (5.0) |strange UI graphics |shows distorted mixer user | |interface Ever confirmed|0 |1
--- Comment #7 from Anastasius Focht focht@gmx.net --- Hello folks,
confirming.
Found Adobe Audition CS6 (5.0) trial here: http://files.ngohq.com/av/Adobe_Audition_CS6.rar
Installer needs some workarounds though:
'winetricks -q msxml3' -> bug 30239 'winetricks -q corefonts' (webkit crash at signin)
$ sha1sum Adobe_Audition_CS6.rar 4a25686d94957bc982a93df365c5d8e47c965731 Adobe_Audition_CS6.rar
$ du -sh Adobe_Audition_CS6.rar 248M Adobe_Audition_CS6.rar
$ wine --version wine-1.7.25
Regards
https://bugs.winehq.org/show_bug.cgi?id=30615
Pekka Helenius fincer89@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |fincer89@hotmail.com
https://bugs.winehq.org/show_bug.cgi?id=30615
--- Comment #8 from Pekka Helenius fincer89@hotmail.com --- Jan Boysen
Your bitmap fix/patch conflicts with Adobe Photoshop CS6 layer preview images. Actually, they're ones being distorted now exactly like the whole GUI of Audition CS6 were before.
I removed the bitmap patch, and Photoshop layer previews are shown correctly again, without skewed distortions.
https://bugs.winehq.org/show_bug.cgi?id=30615
super_man@post.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |super_man@post.com
--- Comment #9 from super_man@post.com --- also msvcp100 as native seems to be needed to get it running
Still an issue 1.7.48
https://bugs.winehq.org/show_bug.cgi?id=30615
winepala@tradermail.info changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |winepala@tradermail.info
--- Comment #10 from winepala@tradermail.info --- Adobe Illustrator 2019 also presents this issue with wine 4.8. The patch at comment #2 fixes it and at the same time breaks the layer previews in Photoshop CC 2015, as stated in comment #8 though for a more recent version. Should a separate bug report be made for Illustrator or can this bug be linked in the Illustrator Appdb page?
https://bugs.winehq.org/show_bug.cgi?id=30615
pattietreutel katyaberezyaka@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |katyaberezyaka@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=30615
ssergio_ll sergio@iskynet.es changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sergio@iskynet.es
--- Comment #11 from ssergio_ll sergio@iskynet.es --- Hello friends!
Any progress on this bug? Thanks!
https://bugs.winehq.org/show_bug.cgi?id=30615
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|http://files.ngohq.com/av/A |https://web.archive.org/web |dobe_Audition_CS6.rar |/20210221112541/https://tri | |als.adobe.com/AdobeProducts | |/legacy/99CABBAC-C975-4A06- | |8D99-064C6871EE80/AUDT/5/wi | |n32/Audition_5_LS7.exe?mv=a | |ffiliate&mv2=red
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.
https://bugs.winehq.org/show_bug.cgi?id=30615
Kyle Herock kherock@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |kherock@gmail.com
--- Comment #13 from Kyle Herock kherock@gmail.com --- (In reply to Malte Jürgens from comment #12)
I can confirm that this patch makes Illustrator 25 (2021) visually useable and also fixes some very minor artifacting that sometimes appear in Photoshop 22's (2021) title bar. PS layer previews are still intact.
https://bugs.winehq.org/show_bug.cgi?id=30615
Gragtosty dmitrysnow4@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dmitrysnow4@gmail.com
--- Comment #14 from Gragtosty dmitrysnow4@gmail.com --- Hi, can you tell me exactly how to apply this patch so that illustrator works fine?
https://bugs.winehq.org/show_bug.cgi?id=30615
--- Comment #15 from Malte Jürgens maltejur@dismail.de --- Created attachment 73442 --> https://bugs.winehq.org/attachment.cgi?id=73442 Patch: gdi32: Make width input of `CreateBitmap` always round up to a multiple of 4
https://bugs.winehq.org/show_bug.cgi?id=30615
--- Comment #16 from Malte Jürgens maltejur@dismail.de --- (In reply to Gragtosty from comment #14)
Hi, can you tell me exactly how to apply this patch so that illustrator works fine?
Hi, I pretty much forgot about this patch. As a user I would say using that patch to make Illustrator work is pretty advanced. You would have to download the wine source code, apply the patch (run `patch -p1 -i <patch location>`), and then compile wine yourself.
https://bugs.winehq.org/show_bug.cgi?id=30615
Malte Jürgens maltejur@dismail.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |leslie_alistair@hotmail.com
https://bugs.winehq.org/show_bug.cgi?id=30615
--- Comment #17 from Malte Jürgens maltejur@dismail.de --- Alistair Leslie-Hughes
Would this patch be suitable for wine-staging?
https://bugs.winehq.org/show_bug.cgi?id=30615
--- Comment #18 from Alistair Leslie-Hughes leslie_alistair@hotmail.com --- (In reply to Malte Jürgens from comment #17)
Alistair Leslie-Hughes
Would this patch be suitable for wine-staging?
No. This patch actually breaks the current tests on the non 4 based bitmap sizes. Including this patch may break other applications that are working fine.
https://bugs.winehq.org/show_bug.cgi?id=30615
Evren evren320@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |evren320@hotmail.com
--- Comment #19 from Evren evren320@hotmail.com --- I tried the patch on wine 8.5 with illustrator and photoshop they worked fine and i did not see any glitches, i didn't test audition as i have never used it before. I tried to compile gdi32_test and run it, there are several failed tests, so i just thought an idea i have done when i was programming with gdi32 in windows long time ago, there needs to be two variables to store width for a bitmap, one is the real intended width of the bitmap that gets returned when requested, other one is internally stored and used by drawing functions which is a multiply of 4, internal width will not be visible to api calls, it is for calculating pointer address of each line correctly.
https://bugs.winehq.org/show_bug.cgi?id=30615
Neko-san nekoNexus@protonmail.ch changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |nekoNexus@protonmail.ch
https://bugs.winehq.org/show_bug.cgi?id=30615
Bartosz gang65@poczta.onet.pl changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |gang65@poczta.onet.pl
https://bugs.winehq.org/show_bug.cgi?id=30615
--- Comment #20 from Bartosz gang65@poczta.onet.pl --- According to NtGdiCreateBitmap information from: https://learn.microsoft.com/en-us/windows/win32/api/wingdi/nf-wingdi-createb...
[in] lpBits
A pointer to an array of color data used to set the colors in a rectangle of pixels. Each scan line in the rectangle must be word aligned (scan lines that are not word aligned must be padded with zeros). The buffer size expected, cj, can be calculated using the formula:
cj = (((nWidth * nPlanes * nBitCount + 15) >> 4) << 1) * nHeight;