From 115ba71872914f7b7dc3e5e57d4eff0ca892608b Mon Sep 17 00:00:00 2001 From: Daniel Stone Date: Wed, 24 Jun 2020 09:12:43 +0100 Subject: 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 Closes: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/issues/21 --- stable/xdg-shell/xdg-shell.xml | 12 ++++++++++++ 1 file changed, 12 insertions(+) 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 @@ + @@ -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. -- cgit v1.2.1