xdg-shell: clarify xdg_surface creation semantics regarding buffers
this change ensures that the client will set its initial state
before performing any drawing, ensuring that there is no mismatch
when creating a surface with a non-default state
(eg. maximize, fullscreen, ...)
looking at the following event flows:
1) wl_surface.attach, wl_surface.commit, xdg_shell.get_xdg_surface
2) wl_surface.attach, xdg_shell.get_xdg_surface, wl_surface.commit
3) xdg_shell.get_xdg_surface, wl_surface.commit, xdg_surface.configure,
wl_surface.attach, wl_surface.commit
only 3) is now valid, while 1) and 2) will trigger errors as a result
of handling buffers prior to creating the xdg surface
Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
1 file changed