From 7d9aa581032552de540951966c9edb32990f1ee4 Mon Sep 17 00:00:00 2001
From: Gustas <37534529+PunkPun@users.noreply.github.com>
Date: Fri, 15 Nov 2024 18:18:33 +0200
Subject: [PATCH] Update SDL
---
OpenRA.Platforms.Default/OpenRA.Platforms.Default.csproj | 2 +-
OpenRA.Platforms.Default/Sdl2PlatformWindow.cs | 4 ++++
OpenRA.WindowsLauncher/OpenRA.WindowsLauncher.csproj | 2 +-
3 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/OpenRA.Platforms.Default/OpenRA.Platforms.Default.csproj b/OpenRA.Platforms.Default/OpenRA.Platforms.Default.csproj
index fbb83d478a..d5fec2130c 100644
--- a/OpenRA.Platforms.Default/OpenRA.Platforms.Default.csproj
+++ b/OpenRA.Platforms.Default/OpenRA.Platforms.Default.csproj
@@ -3,7 +3,7 @@
-
+
diff --git a/OpenRA.Platforms.Default/Sdl2PlatformWindow.cs b/OpenRA.Platforms.Default/Sdl2PlatformWindow.cs
index fbc2e2749d..df72404162 100644
--- a/OpenRA.Platforms.Default/Sdl2PlatformWindow.cs
+++ b/OpenRA.Platforms.Default/Sdl2PlatformWindow.cs
@@ -271,6 +271,10 @@ namespace OpenRA.Platforms.Default
SDL.SDL_GL_GetDrawableSize(Window, out var width, out var height);
surfaceSize = new Size(width, height);
windowScale = width * 1f / windowSize.Width;
+
+ // SDL expects OpenGL Context to be on the main thread on OSX by default.
+ // If this hint isn't set, window management calls will deadlock.
+ SDL.SDL_SetHint(SDL.SDL_HINT_MAC_OPENGL_ASYNC_DISPATCH, "1");
}
else
windowSize = new Size((int)(surfaceSize.Width / windowScale), (int)(surfaceSize.Height / windowScale));
diff --git a/OpenRA.WindowsLauncher/OpenRA.WindowsLauncher.csproj b/OpenRA.WindowsLauncher/OpenRA.WindowsLauncher.csproj
index b330d1d288..ed5541c88c 100644
--- a/OpenRA.WindowsLauncher/OpenRA.WindowsLauncher.csproj
+++ b/OpenRA.WindowsLauncher/OpenRA.WindowsLauncher.csproj
@@ -21,7 +21,7 @@
-
+