From 9094395b13cc20b6f2d80ad10717bd74410aa9a5 Mon Sep 17 00:00:00 2001
From: Frank Praznik <[EMAIL REDACTED]>
Date: Mon, 22 Dec 2025 09:01:01 -0500
Subject: [PATCH] wayland: Use the implicit grab serial when clearing the
clipboard
Some compositors won't clear the selection without a valid serial.
---
src/video/wayland/SDL_waylanddatamanager.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/video/wayland/SDL_waylanddatamanager.c b/src/video/wayland/SDL_waylanddatamanager.c
index 2960d0cbfede3..14d685753ce95 100644
--- a/src/video/wayland/SDL_waylanddatamanager.c
+++ b/src/video/wayland/SDL_waylanddatamanager.c
@@ -632,7 +632,7 @@ bool Wayland_data_device_clear_selection(SDL_WaylandDataDevice *data_device)
if (!data_device || !data_device->data_device) {
result = SDL_SetError("Invalid Data Device");
} else if (data_device->selection_source) {
- wl_data_device_set_selection(data_device->data_device, NULL, 0);
+ wl_data_device_set_selection(data_device->data_device, NULL, data_device->seat->last_implicit_grab_serial);
Wayland_data_source_destroy(data_device->selection_source);
data_device->selection_source = NULL;
}
@@ -647,7 +647,7 @@ bool Wayland_primary_selection_device_clear_selection(SDL_WaylandPrimarySelectio
result = SDL_SetError("Invalid Primary Selection Device");
} else if (primary_selection_device->selection_source) {
zwp_primary_selection_device_v1_set_selection(primary_selection_device->primary_selection_device,
- NULL, 0);
+ NULL, primary_selection_device->seat->last_implicit_grab_serial);
Wayland_primary_selection_source_destroy(primary_selection_device->selection_source);
primary_selection_device->selection_source = NULL;
}