Просмотр исходного кода

Check NSWindow::isVisible before sending SDL_WINDOWEVENT_RESTORED during Cocoa_WindowListener::windowDidResize

Dan Andrus 1 месяц назад
Родитель
Сommit
e610529e84
1 измененных файлов с 5 добавлено и 0 удалено
  1. 5 0
      src/video/cocoa/SDL_cocoawindow.m

+ 5 - 0
src/video/cocoa/SDL_cocoawindow.m

@@ -855,6 +855,11 @@ static NSCursor *Cocoa_GetDesiredCursor(void)
     SDL_SendWindowEvent(window, SDL_WINDOWEVENT_MOVED, x, y);
     SDL_SendWindowEvent(window, SDL_WINDOWEVENT_RESIZED, w, h);
 
+    /* The OS can resize the window automatically if the display density
+       changes while the window is miniaturized or hidden */
+    if (![nswindow isVisible])
+        return;
+
     /* isZoomed always returns true if the window is not resizable */
     if ((window->flags & SDL_WINDOW_RESIZABLE) && [nswindow isZoomed]) {
         zoomed = YES;