Weston renders sub-surface even if parent is not mapped
Submitted by Martin Flöser
Assigned to Wayland bug list
Description
Created attachment 122602 WAYLAND_DEBUG output
Weston renders sub-surfaces with a not mapped parent. According to the Wayland spec a sub-surface should only be mapped if the parent is mapped: "A sub-surface becomes mapped, when a non-NULL wl_buffer is applied and the parent surface is mapped."
To reproduce:
- run systemsettings5
- go to Desktop Behavior -> Desktop Effects
- this creates a sub-surface tree with not mapped parents, but the child is visible
Please see the attached log with WAYLAND_DEBUG of systemsettings. The last child which is incorrectly rendered is wl_surface@97 which is a sub-surface to wl_surface@65, but wl_surface@65 never gets a buffer attached.
This is of course also a client bug which is reported at https://bugreports.qt.io/browse/QTBUG-52192, but of course the compositor should behave according to the spec ;-)
Attachment 122602, "WAYLAND_DEBUG output":
systemsettings-wayland-no-map-subsurfaces2.out