[PATCH wayland] protocol: make get_subsurface double-buffered

Daniel Stone daniel at fooishbar.org
Mon May 9 12:00:03 UTC 2016


On 9 May 2016 at 12:45, Pekka Paalanen <ppaalanen at gmail.com> wrote:
> To make setting up a subsurface slightly easier by removing one
> possibility for a glitch, this patch amends the specification to require
> a wl_surface.commit on the parent surface for get_subsurface to
> complete. The sub-surface cannot become mapped before a parent commit.
>
> This change may break existing clients that relied on the glitchy
> sequence to not need a parent surface commit to map the sub-surface.
> However, presumably all uses would at least issue a
> wl_subsurface.set_position, which requires a parent surface commit to
> apply. That would guarantee that there is a parent surface commit after
> get_subsurface, and so reduces the chances of breaking anything.
>
> In other cases, this change may simply remove a possibility for the
> glitch.
>
> This patch also adds a note about changing wl_surface.commit behaviour
> on wl_subcompositor.get_subsurface. (That could be a separate patch.)
>
> The behaviour of wl_subsurface.destroy remains as specified, even though
> it is now slightly asymmetrical to get_subsurface. This is emphasized by
> adding the word "immediately". The effects of destruction were already
> explicitly documented, as is the way to achieve synchronized unmapping,
> so changing destruction behaviour would likely be more disruptive, and
> also open up more corner cases (what would happen between destroy and
> unmapping?).

Reviewed-by: Daniel Stone <daniels at collabora.com>


More information about the wayland-devel mailing list