[PATCH weston 06/17] xdg-shell: Require a buffer and a wl_surface.commit for mapping a window

Jonas Ådahl jadahl at gmail.com
Tue Apr 7 02:01:21 PDT 2015


Require the client to have attached (either previously committed, or
newly) a buffer to the corresponding wl_surface, and that the window
will not be potentially mapped until calling wl_surface.commit after
having created the window. This is required to make valid double
buffered xdg_surface state possible when creating a window.

Currently there is no double buffered state in xdg_popup, but it should
behave the same as xdg_surface, and for making it future proof in case
we want to add double buffered state to xdg_popup.

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
---
 protocol/xdg-shell.xml | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/protocol/xdg-shell.xml b/protocol/xdg-shell.xml
index 0b6c999..d316e06 100644
--- a/protocol/xdg-shell.xml
+++ b/protocol/xdg-shell.xml
@@ -149,6 +149,10 @@
       It provides requests to treat surfaces like windows, allowing to set
       properties like maximized, fullscreen, minimized, and to move and resize
       them, and associate metadata like title and app id.
+
+      For a xdg_surface to be mapped by the compositor, the wl_surface must
+      have a buffer attached to it, and wl_surface.commit must have been called
+      after having created the xdg_surface object.
     </description>
 
     <request name="destroy" type="destructor">
@@ -473,6 +477,10 @@
       The x and y arguments specify where the top left of the popup
       should be placed, relative to the local surface coordinates of the
       parent surface.
+
+      For a xdg_popup to be mapped by the compositor, the wl_surface must
+      have a buffer attached to it, and wl_surface.commit must have been
+      called after having created the xdg_popup object.
     </description>
 
     <request name="destroy" type="destructor">
-- 
2.1.4



More information about the wayland-devel mailing list