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 @@ - +