cocoa: Don't change the NSWindow background color.

Changing the background color causes the titlebar to blend against it on
modern macOS releases, making all SDL windows look wrong by default. This was
set to make the window not flash white before a GL context is ready, but we
can accomplish this in our window's view's drawRect implementation, too.

--HG--
extra : rebase_source : 65e74179013cefad065806b058cf02016a235fa9
This commit is contained in:
Ryan C. Gordon 2017-10-25 18:02:11 -04:00
parent b985a686f1
commit 76eb51cec1

View file

@ -1152,6 +1152,11 @@ SetWindowStyle(SDL_Window * window, NSUInteger style)
- (void)drawRect:(NSRect)dirtyRect
{
/* Force the graphics context to clear to black so we don't get a flash of
white until the app is ready to draw. In practice on modern macOS, this
only gets called for window creation and other extraordinary events. */
[[NSColor blackColor] setFill];
NSRectFill(dirtyRect);
SDL_SendWindowEvent(_sdlWindow, SDL_WINDOWEVENT_EXPOSED, 0, 0);
}
@ -1316,7 +1321,6 @@ Cocoa_CreateWindow(_THIS, SDL_Window * window)
@catch (NSException *e) {
return SDL_SetError("%s", [[e reason] UTF8String]);
}
[nswindow setBackgroundColor:[NSColor blackColor]];
if (videodata->allow_spaces) {
SDL_assert(floor(NSAppKitVersionNumber) > NSAppKitVersionNumber10_6);