[packages/SDL2] upstream patch for fixing crash with wayland driver; rel 2

atler atler at pld-linux.org
Sat Oct 16 19:55:05 CEST 2021


commit 6277c5e0157dd6091f8d86ef24f60b0316bb76ca
Author: Jan Palus <atler at pld-linux.org>
Date:   Sat Oct 16 19:53:42 2021 +0200

    upstream patch for fixing crash with wayland driver; rel 2
    
    affects wlroots based compositors

 SDL2.spec                     |  4 +++-
 wayland-sizeless-config.patch | 32 ++++++++++++++++++++++++++++++++
 2 files changed, 35 insertions(+), 1 deletion(-)
---
diff --git a/SDL2.spec b/SDL2.spec
index 5209a75..01ca363 100644
--- a/SDL2.spec
+++ b/SDL2.spec
@@ -61,12 +61,13 @@ Summary(pl.UTF-8):	SDL (Simple DirectMedia Layer) - Biblioteka do gier/multimedi
 Summary(zh_CN.UTF-8):	SDL (Simple DirectMedia Layer) Generic APIs - 游戏/多媒体库
 Name:		SDL2
 Version:	2.0.16
-Release:	1
+Release:	2
 License:	Zlib (BSD-like)
 Group:		Libraries
 Source0:	http://www.libsdl.org/release/%{name}-%{version}.tar.gz
 # Source0-md5:	98b8a1535a757ea1d03ae44e2fb20247
 Patch0:		%{name}-config.patch
+Patch1:		wayland-sizeless-config.patch
 URL:		http://www.libsdl.org/
 %{?with_kms:BuildRequires:	Mesa-libgbm-devel >= 11.1.0}
 %{?with_directfb:BuildRequires:	DirectFB-devel >= 1.0.0}
@@ -214,6 +215,7 @@ SDL - przykładowe programy.
 %prep
 %setup -q
 %patch0 -p1
+%patch1 -p1
 
 %build
 %{__libtoolize}
diff --git a/wayland-sizeless-config.patch b/wayland-sizeless-config.patch
new file mode 100644
index 0000000..75cc97b
--- /dev/null
+++ b/wayland-sizeless-config.patch
@@ -0,0 +1,32 @@
+From 63285c2562ba05e5bd113e7aaa003d1eeeec52d9 Mon Sep 17 00:00:00 2001
+From: Ethan Lee <flibitijibibo at gmail.com>
+Date: Wed, 11 Aug 2021 09:59:43 -0400
+Subject: [PATCH] wayland: Ignore stateless/sizeless configs when starting in
+ fullscreen mode
+
+---
+ src/video/wayland/SDL_waylandwindow.c | 10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/src/video/wayland/SDL_waylandwindow.c b/src/video/wayland/SDL_waylandwindow.c
+index 025dd30eeb..451d33b767 100644
+--- a/src/video/wayland/SDL_waylandwindow.c
++++ b/src/video/wayland/SDL_waylandwindow.c
+@@ -219,9 +219,15 @@ handle_configure_xdg_toplevel(void *data,
+ 
+             /* Foolishly do what the compositor says here. If it's wrong, don't
+              * blame us, we were explicitly instructed to do this.
++             *
++             * UPDATE: Nope, we can't actually do that, the compositor may give
++             * us a completely stateless, sizeless configure, with which we have
++             * to enforce our own state anyway.
+              */
+-            window->w = width;
+-            window->h = height;
++            if (width != 0 && height != 0) {
++                window->w = width;
++                window->h = height;
++            }
+ 
+             /* This part is good though. */
+             if (window->flags & SDL_WINDOW_ALLOW_HIGHDPI) {
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/SDL2.git/commitdiff/6277c5e0157dd6091f8d86ef24f60b0316bb76ca



More information about the pld-cvs-commit mailing list