protocol: do not change pending x and y when attaching a buffer

Attaching a buffer with interface version 5 requires clients to pass
zero to x and y but it still affects the pending surface state.
Attaching a buffer after a request to offset therefore sets the pending
x and y to zero. The intent of version 5 was to allow exactly this
sequence of requests to work so let's just make sure the protocol
actually spells it out.

Signed-off-by: Sebastian Wick <sebastian.wick@redhat.com>
This commit is contained in:
Sebastian Wick 2023-02-14 13:33:22 +01:00 committed by Simon Ser
parent 1ef773be76
commit 2aec8f59e9

View File

@ -1442,8 +1442,9 @@
When the bound wl_surface version is 5 or higher, passing any When the bound wl_surface version is 5 or higher, passing any
non-zero x or y is a protocol violation, and will result in an non-zero x or y is a protocol violation, and will result in an
'invalid_offset' error being raised. To achieve equivalent semantics, 'invalid_offset' error being raised. The x and y arguments are ignored
use wl_surface.offset. and do not change the pending state. To achieve equivalent semantics,
use wl_surface.offset.
Surface contents are double-buffered state, see wl_surface.commit. Surface contents are double-buffered state, see wl_surface.commit.