http://bugs.winehq.org/show_bug.cgi?id=37052
Bug ID: 37052 Summary: WM_TRANSIENT_FOR occasionally contains unmapped windows Product: Wine Version: unspecified Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: winex11.drv Assignee: wine-bugs@winehq.org Reporter: jstpierre@mecheye.net
While debugging a focus management issue, I found that Wine creates an odd arrangement of WM_TRANSIENT_FOR windows. I assume this is the behavior of the Windows app.
It's reproducible with the first screen of this installer: http://files01.techspot.com/temp/Unigine-Heaven-40.exe
Wine is creating three windows: the actual installer window (A), a secondary window (B) as its owner, and a third window (C), invisible owner as B's owner.
The issue is that while A and C are mapped, the intermediate window, B, is not, and thus the WM_TRANSIENT_FOR is invalid and ignored by window managers. This has the when activating the invisible owner C from the taskbar or similar, A is not raised.
http://bugs.winehq.org/show_bug.cgi?id=37052
Ken Thomases ken@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download Status|UNCONFIRMED |NEW URL| |http://files01.techspot.com | |/temp/Unigine-Heaven-40.exe Ever confirmed|0 |1
--- Comment #1 from Ken Thomases ken@codeweavers.com --- Confirmed.
http://bugs.winehq.org/show_bug.cgi?id=37052
Vincent Povirk madewokherd@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |madewokherd@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=37052
Dmitry Timoshkov dmitry@baikal.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|unspecified |1.7.23
--- Comment #2 from Dmitry Timoshkov dmitry@baikal.ru --- I believe that it's basically a WM bug since neither XSetTransientForHint + XSetWMHints man pages nor ICCCM mention such a limitation about a window being mapped before setting it as transient_for parent.
See for reference https://bugzilla.gnome.org/show_bug.cgi?id=648079 https://bugzilla.gnome.org/show_bug.cgi?id=648080
At one point I had a patch with a workaround for this WM behaviour.
http://bugs.winehq.org/show_bug.cgi?id=37052
--- Comment #3 from Vincent Povirk madewokherd@gmail.com --- ICCCM does say this, though:
When a window makes a transition from the Normal state to either the Iconic or to the Withdrawn state, clients should be aware that the window manager may make transients for this window inaccessible. Clients should not rely on transient windows being available to the user when the transient owner window is not in the Normal state. When withdrawing a window, clients are advised to withdraw transients for the window.
http://bugs.winehq.org/show_bug.cgi?id=37052
--- Comment #4 from Jasper St. Pierre jstpierre@mecheye.net --- Yes, the ICCCM never explicitly says that WM_TRANSIENT_FOR needs to be mapped. What it *does* say, however, is that the WM should treat unmapped windows as windows that don't exist from its point of view.
So from the point of view of the WM, an unmapped window in WM_TRANSIENT_FOR is an invalid value, since it's effectively the same as a window that doesn't exist.
https://bugs.winehq.org/show_bug.cgi?id=37052
Dmitry Timoshkov dmitry@baikal.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |galtgendo@o2.pl
--- Comment #5 from Dmitry Timoshkov dmitry@baikal.ru --- *** Bug 39776 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=37052
zaplo00@mt2015.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |zaplo00@mt2015.com
--- Comment #6 from zaplo00@mt2015.com --- not sure if related but in cinnamon desktop, school days HQ game after ALT-TAB shows only black rectangle in bottom left corner and window is not in window list. cinnamon inspector shows it's 'MetaShapedTexture'. It's unclickable because of panel.
https://bugs.winehq.org/show_bug.cgi?id=37052
pattietreutel katyaberezyaka@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |katyaberezyaka@gmail.com