aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--protocol/wayland.xml12
1 files changed, 9 insertions, 3 deletions
diff --git a/protocol/wayland.xml b/protocol/wayland.xml
index 97ad2eb..9418c62 100644
--- a/protocol/wayland.xml
+++ b/protocol/wayland.xml
@@ -1514,9 +1514,15 @@
mutates the underlying buffer storage, the surface contents become
undefined immediately.
- If wl_surface.attach is sent with a NULL wl_buffer, or the pending
- wl_buffer has been destroyed, the following wl_surface.commit will
- remove the surface content.
+ If wl_surface.attach is sent with a NULL wl_buffer, the
+ following wl_surface.commit will remove the surface content.
+
+ If a pending wl_buffer has been destroyed, the result is not specified.
+ Many compositors are known to remove the surface content on the following
+ wl_surface.commit, but this behaviour is not universal. Clients seeking to
+ maximise compatibility should not destroy pending buffers and should
+ ensure that they explicitly remove content from surfaces, even after
+ destroying buffers.
</description>
<arg name="buffer" type="object" interface="wl_buffer" allow-null="true"
summary="buffer of surface contents"/>