[Bug 58433] New: entering sub-menus makes entire menu vanish behind main window in FL Studio (virtual desktop mode)
http://bugs.winehq.org/show_bug.cgi?id=58433 Bug ID: 58433 Summary: entering sub-menus makes entire menu vanish behind main window in FL Studio (virtual desktop mode) Product: Wine Version: 10.11 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: win32u Assignee: wine-bugs(a)winehq.org Reporter: cyrus.valkonen(a)gmail.com Distribution: --- When any menu is opened, such as "File ...", and then a nested sub-menu with more menu options such as "New from template ..." is hovered (not clicked) with the mouse to open it, the entire menu with sub-menu is suddenly rendered behind the main window (z-index issue?). Consequently the user can no longer open files and can no longer access a lot of important menus in a lot of the DAWs functions, such as music sheet editor, pattern editor, etc. In Wine 8.1 this bug does not occur, and must have been introduced somewhen after (my guess is version 9). Please note that this issue does NOT relate to X11, because it happens with "Emulate a virtual desktop" checked. I tried many things to work around it, including monkey-patching Wine 10.11 source, but everything is unsuccessful. Please note due to issues with VSTs, FL Studio needs very specific combos of NOT using DXVK, and not overriding d3dcompiler_47 or dxgi with winetricks. But even if used it makes no difference. There are NO OPTIONS in FL Studio that prevent this bug (such as unchecking ultrasmooth mode or disabling window animations). Only regressing to 8.1 fixes the bug. In the logs you will see two "TQuickPopupMenuWindow" being opened. The first is the menu, the second is the sub-menu. Many versions of FL Studio and Wine are affected by this. At least since FL 20 and Wine 9. Sadly because of changes in Juce (used by many VSTs), a lot of new and critical VST plugins now do require a very recent Wine version. Thus falling back to Wine 8.1 is no longer viable. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=58433 --- Comment #1 from cyrus.valkonen(a)gmail.com --- Created attachment 78863 --> http://bugs.winehq.org/attachment.cgi?id=78863 Wine logs check TQuickPop -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=58433 Ken Sharp <imwellcushtymelike(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Component|win32u |-unknown --- Comment #2 from Ken Sharp <imwellcushtymelike(a)gmail.com> ---
In Wine 8.1 this bug does not occur
A regression test will help pinpoint the change in Wine. https://gitlab.winehq.org/wine/wine/-/wikis/Regression-Testing -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=58433 --- Comment #3 from cyrus.valkonen(a)gmail.com --- The regression occurs first from Wine 10.4 (not affected) to 10.5 (affected since then). -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=58433 --- Comment #4 from cyrus.valkonen(a)gmail.com --- % git log --pretty=format:"%h %ad %s" --date=short wine-10.4..wine-10.5 -- dlls/win32u 3e9e6882e3d 2025-03-08 win32u: Remove unnecessary win32u_(get|set)_window_pixel_format exports. 2172cdf11ae 2025-03-06 win32u: Move WGL_ARB_pixel_format extension registration. f1cdb6ad7fe 2025-02-18 win32u: Call ActivateWindow callback when foreground window changes. 850eeb8c072 2025-02-19 win32u: Return foreground window changes from GetWindowStateUpdates. TEST RESULTS ============ 850eeb8c072: not bugged f1cdb6ad7fe: bugged 2172cdf11ae: bugged -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=58433 --- Comment #5 from cyrus.valkonen(a)gmail.com --- Created attachment 78867 --> http://bugs.winehq.org/attachment.cgi?id=78867 reverts commit f1cdb6ad7fe which causes bug 58433 I tested this in FL Studio and it works. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=58433 --- Comment #6 from cyrus.valkonen(a)gmail.com --- Please apply the patch it is still broken in wine-10.16. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=58433 --- Comment #7 from cyrus.valkonen@gmail.com --- Please can you just accept the simple patch? People cannot use Fruity Loops DAW with Wine anymore. It has been 8 months since solution was posted. Fruity Loops has always been the biggest player in actually professional audio production software to newcomers and no free software can replace it in a professional way, neither is it just a matter of "flavor" to use something else. What other DAWs do is vastly different than what FL Studio does. DAWs can't be run in VMs either, due to latency issues, MIDI and audio routing, etc. In an audio production sense, we are effectively in a situation here where neither DaVinci Resolve exists, nor Adobe Premiere works under Wine. People are out of options here if they belong to the most common kind of audio producers and composers. Either switch to native Windows, or labyrinth your way to this issue and compile it by hand with this patch, or use older Wine version which likely causes issues with newer VSTs. Pretty much it is "professional audio production just doesn't work under Linux" right now. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=58433 --- Comment #8 from cyrus.valkonen@gmail.com --- In lack of a response, I was seeking help elsewhere, and was told that Wine maintainers are unlikely to accept regression patches pertaining to real-world conditions for which automated tests neither exist nor are feasible. The patch has been tested and it reverts an isolated commit which was high risk to begin with without any apparent or critically important benefits. I would therefore like to draw attention to for the patch to be included into wine-staging. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=58433 --- Comment #9 from cyrus.valkonen@gmail.com --- ChatGPT's analysis: The regression stems from conflating three distinct Windows concepts: keyboard focus, window activation, and z-order / popup ownership. The reverted commit assumes that a foreground change should always trigger driver-level activation. That assumption is incorrect for transient popup windows such as menus, submenus, and owner-owned tool windows, which do not activate on Windows. JUCE/FL Studio hits this edge case via hover-opened submenus with owner relationships and no explicit click activation, relying on Windows’ implicit popup rules. Existing Wine tests most likely only cover click-driven activation and simple popups, but not hover-activated nested popups or focus changes without activation. As a result, the change would have appeared semantically cleaner and would have passed tests, despite breaking real-world behavior. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=58433 Austin English <austinenglish@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression CC| |rbernon@codeweavers.com Regression SHA1| |f1cdb6ad7fe81563979fcb1cea4 | |d5a50abea7df2 --- Comment #10 from Austin English <austinenglish@gmail.com> --- Regression was introduced by: commit f1cdb6ad7fe81563979fcb1cea4d5a50abea7df2 Author: Rémi Bernon <rbernon@codeweavers.com> Date: Tue Feb 18 12:31:37 2025 +0100 win32u: Call ActivateWindow callback when foreground window changes. Repurposing the SetFocus callback. CC'ing author. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=58433 Zeb Figura <z.figura12@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |z.figura12@gmail.com --- Comment #11 from Zeb Figura <z.figura12@gmail.com> --- (In reply to cyrus.valkonen from comment #8)
In lack of a response, I was seeking help elsewhere, and was told that Wine maintainers are unlikely to accept regression patches pertaining to real-world conditions for which automated tests neither exist nor are feasible.
I don't think that's true. However generally we don't directly revert patches either, at least not if we can find a way to fix them properly. (Also, as far as I can tell, that chatgpt output is a load of crock.) -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
participants (2)
-
WineHQ Bugzilla -
WineHQ Bugzilla