Browse Source

wayland: Always set the last incoming clipboard seat when setting clipboard data

Otherwise, the clipboard will report having no or old data until events are pumped.

Fixes the automated clipboard tests.
Frank Praznik 20 giờ trước cách đây
mục cha
commit
f540de87b9
1 tập tin đã thay đổi với 4 bổ sung0 xóa
  1. 4 0
      src/video/wayland/SDL_waylandclipboard.c

+ 4 - 0
src/video/wayland/SDL_waylandclipboard.c

@@ -40,6 +40,8 @@ bool Wayland_SetClipboardData(SDL_VideoDevice *_this)
         seat = wl_container_of(video_data->seat_list.next, seat, link);
     }
 
+    video_data->last_incoming_data_offer_seat = seat;
+
     if (seat && seat->data_device) {
         SDL_WaylandDataDevice *data_device = seat->data_device;
 
@@ -119,6 +121,8 @@ bool Wayland_SetPrimarySelectionText(SDL_VideoDevice *_this, const char *text)
         seat = wl_container_of(video_data->seat_list.next, seat, link);
     }
 
+    video_data->last_incoming_primary_selection_seat = seat;
+
     if (seat && seat->primary_selection_device) {
         SDL_WaylandPrimarySelectionDevice *primary_selection_device = seat->primary_selection_device;
         if (text[0] != '\0') {