Cocoa: Keep the window's screen position through SDL_SetWindowSize(). The Y coordinate is flipped in Cocoa, so if you change the height, the window will move and maybe clip against the screen edge if you don't adjust its Y coordinate to match. Possibly fixes Bugzilla #3066.
diff --git a/src/video/cocoa/SDL_cocoawindow.m b/src/video/cocoa/SDL_cocoawindow.m
index 0378e48..b252112 100644
--- a/src/video/cocoa/SDL_cocoawindow.m
+++ b/src/video/cocoa/SDL_cocoawindow.m
@@ -1288,11 +1288,13 @@ Cocoa_SetWindowSize(_THIS, SDL_Window * window)
{
SDL_WindowData *windata = (SDL_WindowData *) window->driverdata;
NSWindow *nswindow = windata->nswindow;
- NSSize size;
- size.width = window->w;
- size.height = window->h;
- [nswindow setContentSize:size];
+ NSRect frame = [nswindow frame];
+ frame.origin.y = (frame.origin.y + frame.size.height) - ((float) window->h);
+ frame.size.width = window->w;
+ frame.size.height = window->h;
+
+ [nswindow setFrame:frame display:YES];
ScheduleContextUpdates(windata);
}}