diff options
| author | Hugo Osvaldo Barrera <hugo@whynothugo.nl> | 2024-05-08 20:54:19 +0200 |
|---|---|---|
| committer | Hugo Osvaldo Barrera <hugo@whynothugo.nl> | 2024-05-29 14:23:38 +0200 |
| commit | 26c419e046a70521e07b849faae901c7521d90df (patch) | |
| tree | 910628ceb6d6a3aea6414a8c594e912c6c5a22a6 | |
| parent | build: bump to version 1.22.93 for the RC1 release (diff) | |
| download | wayland-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>
| -rw-r--r-- | protocol/wayland.xml | 12 |
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"/> |
