diff options
author | Daniel Stone <daniels@collabora.com> | 2020-06-24 09:12:43 +0100 |
---|---|---|
committer | Jonas Ã…dahl <jadahl@gmail.com> | 2022-10-10 07:58:54 +0000 |
commit | 115ba71872914f7b7dc3e5e57d4eff0ca892608b (patch) | |
tree | ae9204f6d0d038ae1770f8675360ab45b3ab5ebd /stable/xdg-shell | |
parent | 03ae934d6583e982ebc397fa296d53034c7a2370 (diff) |
xdg-shell: ack_configure must be strictly monotonic
Clients must send ack_configure in a strictly monotonic order wrt
received configure events. It is an error to send an ack_configure
request for a configure event which was sent prior to the last
ack_configure for that surface, or to send multiple ack_configures for
the same configure event.
Weston and wlroots already use this interpretation, however Mutter and
KWayland are more lax and allow duplicates. This clarification tightens
the spec working to explicitly encode the Weston/wlroots behaviour.
Signed-off-by: Daniel Stone <daniels@collabora.com>
Closes: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/issues/21
Diffstat (limited to 'stable/xdg-shell')
-rw-r--r-- | stable/xdg-shell/xdg-shell.xml | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/stable/xdg-shell/xdg-shell.xml b/stable/xdg-shell/xdg-shell.xml index 993c54a..d2f5d5f 100644 --- a/stable/xdg-shell/xdg-shell.xml +++ b/stable/xdg-shell/xdg-shell.xml @@ -454,6 +454,7 @@ <entry name="not_constructed" value="1"/> <entry name="already_constructed" value="2"/> <entry name="unconfigured_buffer" value="3"/> + <entry name="invalid_serial" value="4"/> </enum> <request name="destroy" type="destructor"> @@ -549,6 +550,17 @@ A client may send multiple ack_configure requests before committing, but only the last request sent before a commit indicates which configure event the client really is responding to. + + Sending an ack_configure request consumes the serial number sent with + the request, as well as serial numbers sent by all configure events + sent on this xdg_surface prior to the configure event referenced by + the committed serial. + + It is an error to issue multiple ack_configure requests referencing a + serial from the same configure event, or to issue an ack_configure + request referencing a serial from a configure event issued before the + event identified by the last ack_configure request for the same + xdg_surface. Doing so will raise an invalid_serial error. </description> <arg name="serial" type="uint" summary="the serial from the configure event"/> </request> |