From dec7875a6e23212021e4d9080330a42832dfe02a Mon Sep 17 00:00:00 2001
From: Edward Rudd <urkle@outoforder.cc>
Date: Tue, 15 Jun 2021 01:40:19 +0000
Subject: [PATCH] update SDL soruce to 2.0.14
---
source/src/video/wayland/SDL_waylandwindow.c | 39 +++++++++++++++++++++++++--------------
1 files changed, 25 insertions(+), 14 deletions(-)
diff --git a/source/src/video/wayland/SDL_waylandwindow.c b/source/src/video/wayland/SDL_waylandwindow.c
index 395e941..787c614 100644
--- a/source/src/video/wayland/SDL_waylandwindow.c
+++ b/source/src/video/wayland/SDL_waylandwindow.c
@@ -408,19 +408,19 @@
SDL_WindowData *window = data;
int i;
- if (window->num_outputs > 1) {
- struct wl_output **new_outputs = SDL_malloc((window->num_outputs - 1) * sizeof *window->outputs), **iter = new_outputs;
- for (i=0; i < window->num_outputs; i++) {
- if (window->outputs[i] != output) {
- *iter = window->outputs[i];
- iter++;
- }
- }
- SDL_free(window->outputs);
- window->outputs = new_outputs;
- window->num_outputs--;
- } else {
- window->num_outputs = 0;
+ for (i = 0; i < window->num_outputs; i++) {
+ if (window->outputs[i] == output) { /* remove this one */
+ if (i == (window->num_outputs-1)) {
+ window->outputs[i] = NULL;
+ } else {
+ SDL_memmove(&window->outputs[i], &window->outputs[i+1], sizeof (output) * ((window->num_outputs - i) - 1));
+ }
+ window->num_outputs--;
+ i--;
+ }
+ }
+
+ if (window->num_outputs == 0) {
SDL_free(window->outputs);
window->outputs = NULL;
}
@@ -628,13 +628,24 @@
WAYLAND_wl_display_flush( viddata->display );
}
+void
+Wayland_SetWindowGrab(_THIS, SDL_Window *window, SDL_bool grabbed)
+{
+ SDL_VideoData *data = (SDL_VideoData *) _this->driverdata;
+
+ if (grabbed)
+ Wayland_input_confine_pointer(window, data->input);
+ else
+ Wayland_input_unconfine_pointer(data->input);
+}
+
int Wayland_CreateWindow(_THIS, SDL_Window *window)
{
SDL_WindowData *data;
SDL_VideoData *c;
struct wl_region *region;
- data = calloc(1, sizeof *data);
+ data = SDL_calloc(1, sizeof *data);
if (data == NULL)
return SDL_OutOfMemory();
--
Gitblit v1.9.3