Details
-
Bug
-
Resolution: Unresolved
-
P3: Somewhat important
-
None
-
5.14.2
-
None
Description
This issue came up while debugging issues around the Wayland port of OBS, see https://github.com/obsproject/obs-studio/pull/2484
The Wayland spec states:]
A sub-surface becomes mapped, when a non-NULL wl_buffer is applied and the parent surface is mapped. The order of which one happens first is irrelevant. A sub-surface is hidden if the parent becomes hidden, or if a NULL wl_buffer is applied. These rules apply recursively through the tree of surfaces.
However, QT on Wayland appears to make heavy use of bufferless surfaces in "intermediate" positions, i.e. to position nested subsurfaces which do have buffers. This probably happened because Mutter, Weston, Sway and probably KWin all appear to not properly follow the spec.
I assume fixing this will require some deeper changes and take some time - thus it's probably good idea to coordinate the effort with compositor devs (Mutter and Weston issues linked above) as they may fix that behaviour at any time, deliberately or by accident.
Todo (for myself): provide a minimal qt test client showing this behaviour.
Attachments
Issue Links
- relates to
-
QTBUG-128029 wayland: Window container in QMdiArea does not work
- Open