https://bugs.winehq.org/show_bug.cgi?id=51802
Bug ID: 51802 Summary: Theming on 16-bit application breaks their UI Product: Wine Version: unspecified Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: uxtheme Assignee: wine-bugs@winehq.org Reporter: clinton@concernednetizen.com Distribution: ---
Created attachment 70689 --> https://bugs.winehq.org/attachment.cgi?id=70689 Collins Dictionary
I noticed a regression a few months ago in a 16-bit application I regularly run. It started when the Windows XP-style UI themes started being applied.
In the screenshot you can see the Collins English Dictionary application as it currently runs, with a "Plastik"-style UXTHEME drawing the applications buttons (ignore the buttons being cut-off by the windows size. That problem already occured before the UXTHEME breakage).
The buttons are selected, but not activated do not work when clicked. The only way to use the buttons is to click on them to highlight/select them and then press the Enter key. This is also true of some, but not all of the buttons in modal dialogs.
The mostly-black background of the definition display is also a new bug which occurred simultaneously to moment UXTHEMEs became applicable to 16-bit apps. It seems like the definitions, when drawn to the screen, do not blank out what preceeded them, so smaller definitions overlap the former larger ones.
The software can be easily downloaded here for testing: https://archive.org/details/collins_win31
https://bugs.winehq.org/show_bug.cgi?id=51802
Zhiyi Zhang zzhang@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |zzhang@codeweavers.com
https://bugs.winehq.org/show_bug.cgi?id=51802
O. Nykyforchyn oleh.nyk@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |oleh.nyk@gmail.com
--- Comment #1 from O. Nykyforchyn oleh.nyk@gmail.com --- You sympthoms (black screen and inactive buttons) are similar to regressions for another 16 bit application, WinEdt 1.41e editor for LaTeX, cf https://bugs.winehq.org/show_bug.cgi?id=51564
Probably some 16-bit version of a library like GDI, SHELL or smth similar stopped working.
It is strange that You are able to launch 16-bit app at all. Is Your Wine compiled with MinGW?
https://bugs.winehq.org/show_bug.cgi?id=51802
--- Comment #2 from clinton@concernednetizen.com --- I was using the official unstable builds from the Wine repos for Debian, so if they're built with MinGW then yes? I've switched back to stable for now.
I'm not exactly what the regression would have been, but I picked UXTheme because the problem started precisely when the Windows XP-style theme engine started applying itself to my 16-bit applications. Of course, this change might have been triggered elsewhere.
https://bugs.winehq.org/show_bug.cgi?id=51802
--- Comment #3 from O. Nykyforchyn oleh.nyk@gmail.com --- Thank You for the answer.
Configuration dialogs in WinEdt began to work after
winetricks comctl32
At least now I know that the problem is related to this library. You could also try to replace builtin comctl32 with native one in a fresh .wine prefix to see if Your problem goes away.
https://bugs.winehq.org/show_bug.cgi?id=51802
--- Comment #4 from O. Nykyforchyn oleh.nyk@gmail.com --- I tried it myself. With native comctl32 buttons in Collins Dictionary seem to work, hence the bug is somewhere between Wine code for 16 bit and comctl32 implementation.
https://bugs.winehq.org/show_bug.cgi?id=51802
--- Comment #5 from O. Nykyforchyn oleh.nyk@gmail.com --- Unfortunately black background is still here, so it is a separate issue.
https://bugs.winehq.org/show_bug.cgi?id=51802
clinton@concernednetizen.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|uxtheme |comctl32
https://bugs.winehq.org/show_bug.cgi?id=51802
Zhiyi Zhang zzhang@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|UNCONFIRMED |NEW
--- Comment #6 from Zhiyi Zhang zzhang@codeweavers.com --- Confirmed. The button unresponsive regression is from f304b2ae23bb537029fe51983f060f680de66a12 is the first bad commit commit f304b2ae23bb537029fe51983f060f680de66a12 Author: Zhiyi Zhang zzhang@codeweavers.com Date: Fri Jun 11 10:05:33 2021 +0800
winevdm: Enable visual styles.
Signed-off-by: Zhiyi Zhang zzhang@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
The black background regression is from 6f095cea53787f03a159f0464b9881ace3724e6b is the first bad commit commit 6f095cea53787f03a159f0464b9881ace3724e6b Author: Jacek Caban jacek@codeweavers.com Date: Tue Aug 3 12:56:49 2021 +0200
gdi32: Use NtGdiPatBlt for PatBlt implementation.
Signed-off-by: Jacek Caban jacek@codeweavers.com Signed-off-by: Huw Davies huw@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
The crash on wine-6.18 is from ea66623c3cd1ff5e5d066adc8ab3a66bf6bb7b34 is the first bad commit commit ea66623c3cd1ff5e5d066adc8ab3a66bf6bb7b34 Author: Zebediah Figura zfigura@codeweavers.com Date: Sun Oct 3 19:00:49 2021 -0500
winebuild: Move the CALL32_CBClient[Ex]_RetAddr implementation to krnl386.
Signed-off-by: Zebediah Figura zfigura@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
I will look into these issues. Specifically, the first one will have priority.
https://bugs.winehq.org/show_bug.cgi?id=51802
Zhiyi Zhang zzhang@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jacek@codeweavers.com
https://bugs.winehq.org/show_bug.cgi?id=51802
Zhiyi Zhang zzhang@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |z.figura12@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=51802
--- Comment #7 from O. Nykyforchyn oleh.nyk@gmail.com --- I think the latter crash is rather due to https://bugs.winehq.org/show_bug.cgi?id=51564, i.e. Wine inability to find and load ANY 16-bit DLL, not only krnl386.exe16.
https://bugs.winehq.org/show_bug.cgi?id=51802
--- Comment #8 from Zebediah Figura z.figura12@gmail.com --- (In reply to Zhiyi Zhang from comment #6)
The crash on wine-6.18 is from ea66623c3cd1ff5e5d066adc8ab3a66bf6bb7b34 is the first bad commit commit ea66623c3cd1ff5e5d066adc8ab3a66bf6bb7b34 Author: Zebediah Figura zfigura@codeweavers.com Date: Sun Oct 3 19:00:49 2021 -0500
winebuild: Move the CALL32_CBClient[Ex]_RetAddr implementation to
krnl386.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
With which application did you reproduce this?
https://bugs.winehq.org/show_bug.cgi?id=51802
--- Comment #9 from O. Nykyforchyn oleh.nyk@gmail.com --- (In reply to Zebediah Figura from comment #8)
(In reply to Zhiyi Zhang from comment #6)
The crash on wine-6.18 is from ea66623c3cd1ff5e5d066adc8ab3a66bf6bb7b34 is the first bad commit commit ea66623c3cd1ff5e5d066adc8ab3a66bf6bb7b34 Author: Zebediah Figura zfigura@codeweavers.com Date: Sun Oct 3 19:00:49 2021 -0500
winebuild: Move the CALL32_CBClient[Ex]_RetAddr implementation to
krnl386.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
With which application did you reproduce this?
Please try
http://ftp.itam.mx/pub/academico/investig/latex/LaTeXWin/winedt16.zip
https://bugs.winehq.org/show_bug.cgi?id=51802
--- Comment #10 from Zebediah Figura z.figura12@gmail.com --- (In reply to O. Nykyforchyn from comment #9)
Please try
http://ftp.itam.mx/pub/academico/investig/latex/LaTeXWin/winedt16.zip
That's presumably bug 51564, though; I'm wondering what application was broken by ea66623c3c specifically.
https://bugs.winehq.org/show_bug.cgi?id=51802
--- Comment #11 from Zhiyi Zhang zzhang@codeweavers.com --- (In reply to Zebediah Figura from comment #8)
(In reply to Zhiyi Zhang from comment #6)
The crash on wine-6.18 is from ea66623c3cd1ff5e5d066adc8ab3a66bf6bb7b34 is the first bad commit commit ea66623c3cd1ff5e5d066adc8ab3a66bf6bb7b34 Author: Zebediah Figura zfigura@codeweavers.com Date: Sun Oct 3 19:00:49 2021 -0500
winebuild: Move the CALL32_CBClient[Ex]_RetAddr implementation to
krnl386.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
With which application did you reproduce this?
https://archive.org/details/collins_win31, a bisect points to the commit.
https://bugs.winehq.org/show_bug.cgi?id=51802
--- Comment #12 from Zebediah Figura z.figura12@gmail.com --- Thanks, the krnl386 regression should be fixed by 55678ccaa.
https://bugs.winehq.org/show_bug.cgi?id=51802
--- Comment #13 from O. Nykyforchyn oleh.nyk@gmail.com --- Unfortunately, it is not. On recent wine-6.19:
bash-5.1$ wine EDTWIN.EXE MESA-INTEL: warning: Bay Trail Vulkan support is incomplete 0104:err:module:import_dll Loading library krnl386.exe16 (which is needed by L"C:\windows\syswow64\winevdm.exe") failed (error c0000131). 0104:err:module:LdrInitializeThunk Importing dlls for L"C:\windows\syswow64\winevdm.exe" failed, status c0000135
Moving all *.so dlls to *-unix directory hasn't helped.
With the ugly hack to ntdll it runs:
bash-5.1$ wine EDTWIN.EXE MESA-INTEL: warning: Bay Trail Vulkan support is incomplete 0108:fixme:hook:SetWindowsHookEx16 System-global hooks (2) broken in Win16
but the background is still black and buttons are inoperational.
https://bugs.winehq.org/show_bug.cgi?id=51802
--- Comment #14 from O. Nykyforchyn oleh.nyk@gmail.com --- Maybe, it has been fixed when Wine is compiled with MinGW.
https://bugs.winehq.org/show_bug.cgi?id=51802
--- Comment #15 from Zebediah Figura z.figura12@gmail.com --- Yes, bug 51564 is still open; I'm only referring to the regression Zhiyi reported in this bug.
https://bugs.winehq.org/show_bug.cgi?id=51802
--- Comment #16 from O. Nykyforchyn oleh.nyk@gmail.com --- Is there anything new in git to try out, related to buttons/checkboxes in comctl32 or to background and text colors?
And do these regressions appear in 16 bit apps only?
https://bugs.winehq.org/show_bug.cgi?id=51802
--- Comment #17 from Zhiyi Zhang zzhang@codeweavers.com --- (In reply to O. Nykyforchyn from comment #16)
Is there anything new in git to try out, related to buttons/checkboxes in comctl32 or to background and text colors?
And do these regressions appear in 16 bit apps only?
I plan to revert f304b2a. On Windows, ntvdm.exe doesn't have a manifest and doesn't use themed controls and comctl32 for 16-bit applications. Yes, I think it's limited to 16-bit applications.
https://bugs.winehq.org/show_bug.cgi?id=51802
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dark.shadow4@web.de
--- Comment #18 from Fabian Maurer dark.shadow4@web.de --- Is this fixed by https://source.winehq.org/git/wine.git/?a=commit;h=b1eeaa657db649c256fe92c94... ?
https://bugs.winehq.org/show_bug.cgi?id=51802
Zhiyi Zhang zzhang@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Fixed by SHA1| |b1eeaa657db649c256fe92c94f2 | |10982f810fd6a Resolution|--- |FIXED
--- Comment #19 from Zhiyi Zhang zzhang@codeweavers.com --- (In reply to Fabian Maurer from comment #18)
Is this fixed by https://source.winehq.org/git/wine.git/?a=commit; h=b1eeaa657db649c256fe92c94f210982f810fd6a ?
Yes. I moved the black background issue to bug 51899 for tracking.
https://bugs.winehq.org/show_bug.cgi?id=51802
--- Comment #20 from O. Nykyforchyn oleh.nyk@gmail.com --- Confirmed, everything is ok with WinEdt menus now.
https://bugs.winehq.org/show_bug.cgi?id=51802
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #21 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 6.20.
https://bugs.winehq.org/show_bug.cgi?id=51802
--- Comment #22 from Bruni earns.61@gmail.com --- Created attachment 70945 --> https://bugs.winehq.org/attachment.cgi?id=70945 Collins Dictionary 16-bit with custom theme run in Windows XP run in QEMU
Hi Zhiyi
For commit b1eeaa657db649c256fe92c94f210982f810fd6a, you specified that 16-bit applications don't use themed controls even if theming is on.
It seems that it is not the case for Windows XP (at least).
Compare the screenshot of themed 16-bit application from this comment with the screenshot of unthemed Collins Dictionary 16-bit run in Windows XP running in QEMU: https://bugs.winehq.org/attachment.cgi?id=70940&action=edit
Does it deserve a new bug?
https://bugs.winehq.org/show_bug.cgi?id=51802
--- Comment #23 from Zhiyi Zhang zzhang@codeweavers.com --- (In reply to Bruni from comment #22)
Created attachment 70945 [details] Collins Dictionary 16-bit with custom theme run in Windows XP run in QEMU
Hi Zhiyi
For commit b1eeaa657db649c256fe92c94f210982f810fd6a, you specified that 16-bit applications don't use themed controls even if theming is on.
It seems that it is not the case for Windows XP (at least).
Compare the screenshot of themed 16-bit application from this comment with the screenshot of unthemed Collins Dictionary 16-bit run in Windows XP running in QEMU: https://bugs.winehq.org/attachment.cgi?id=70940&action=edit
Does it deserve a new bug?
From the look of it, it seems that the application is still running with
theming off, and with a different set of system colors provided by the theme. I had tried the XP Luna theme. If theming should be on, then the application buttons shouldn't be so flat and there should be some visual effects when you move the pointer on them. If you can show me a picture that theming should be on with the XP Luna theme, that should prove it.