Semantics of wl_subcompositor::get_subsurface

Martin Graesslin mgraesslin at
Mon Mar 21 07:36:59 UTC 2016

Hi Wayland-devs,

while implementing sub-surface support in KWin I run into a small problem 
regarding the get_subsurface request:

When should the new subsurface be added to the parent surface?

My interpretation was that the subsurface will only be added after the next 
commit on the parent surface. As that would allow setting up the sub-surface 
completely and also calls like place_above are double-buffered. To me this 
looked like all child surface ordering changes are double buffered.

But testing with real world applications (systemsettings5 on QtWayland) showed 
that the parent surface does not get committed after the get_subsurface 
request and my implementation wasn't able to make the subsurface show at all 
due to that. On the other hand on Weston it works.

So what's the expected way? Is the get_subsurface request double buffered? If 
yes, could the documentation be extended about that?

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: This is a digitally signed message part.
URL: <>

More information about the wayland-devel mailing list