فهرست منبع

Fixed bug 5471 - Creating a fullscreen desktop window goes windowed temporarily

This is caused by the Metal renderer recreating the window because by default we create an OpenGL window on macOS.

It turns out that at least on macOS 10.15, a window that has been initialized for OpenGL can also be used with Metal. So we'll skip recreating the window in that case.
Sam Lantinga 4 سال پیش
والد
کامیت
69e9b2acee
1فایلهای تغییر یافته به همراه1 افزوده شده و 1 حذف شده
  1. 1 1
      src/render/metal/SDL_render_metal.m

+ 1 - 1
src/render/metal/SDL_render_metal.m

@@ -1674,7 +1674,7 @@ METAL_CreateRenderer(SDL_Window * window, Uint32 flags)
     }
 
     window_flags = SDL_GetWindowFlags(window);
-    if (!(window_flags & SDL_WINDOW_METAL)) {
+    if (!(window_flags & (SDL_WINDOW_METAL|SDL_WINDOW_OPENGL))) {
         changed_window = SDL_TRUE;
         if (SDL_RecreateWindow(window, (window_flags & ~(SDL_WINDOW_VULKAN | SDL_WINDOW_OPENGL)) | SDL_WINDOW_METAL) < 0) {
             return NULL;