aboutsummaryrefslogtreecommitdiffstats
path: root/protocol/wayland.xml
diff options
context:
space:
mode:
authorHugo Osvaldo Barrera <hugo@whynothugo.nl>2024-05-08 20:54:19 +0200
committerHugo Osvaldo Barrera <hugo@whynothugo.nl>2024-05-29 14:23:38 +0200
commit26c419e046a70521e07b849faae901c7521d90df (patch)
tree910628ceb6d6a3aea6414a8c594e912c6c5a22a6 /protocol/wayland.xml
parentbuild: bump to version 1.22.93 for the RC1 release (diff)
downloadwayland-26c419e046a70521e07b849faae901c7521d90df.tar
wayland-26c419e046a70521e07b849faae901c7521d90df.tar.gz
wayland-26c419e046a70521e07b849faae901c7521d90df.tar.bz2
wayland-26c419e046a70521e07b849faae901c7521d90df.tar.lz
wayland-26c419e046a70521e07b849faae901c7521d90df.tar.xz
wayland-26c419e046a70521e07b849faae901c7521d90df.tar.zst
wayland-26c419e046a70521e07b849faae901c7521d90df.zip
protocol: clarify divergence in compositor behaviour
This is intended to only document the current situation. Whether further behaviour will be defined is out of scope and left for protocol v7. See: https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/363 Signed-off-by: Hugo Osvaldo Barrera <hugo@whynothugo.nl>
Diffstat (limited to 'protocol/wayland.xml')
-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"/>