# HG changeset patch # User Sam Lantinga # Date 1235016904 0 # Node ID 4c28a96559335dcc191def851879f661a2da2aca # Parent caffd6a5555dad7a2f8053fc9187163c1a88fd61 Fixed bug using SDL_WINDOWPOS_CENTERED with SDL_SetWindowPosition() diff -r caffd6a5555d -r 4c28a9655933 src/video/cocoa/SDL_cocoawindow.m --- a/src/video/cocoa/SDL_cocoawindow.m Thu Feb 19 04:03:05 2009 +0000 +++ b/src/video/cocoa/SDL_cocoawindow.m Thu Feb 19 04:15:04 2009 +0000 @@ -387,14 +387,16 @@ pool = [[NSAutoreleasePool alloc] init]; - if (window->x == SDL_WINDOWPOS_CENTERED) { + if ((window->flags & SDL_WINDOW_FULLSCREEN) + || window->x == SDL_WINDOWPOS_CENTERED) { rect.origin.x = (CGDisplayPixelsWide(kCGDirectMainDisplay) - window->w) / 2; } else if (window->x == SDL_WINDOWPOS_UNDEFINED) { rect.origin.x = 0; } else { rect.origin.x = window->x; } - if (window->y == SDL_WINDOWPOS_CENTERED) { + if ((window->flags & SDL_WINDOW_FULLSCREEN) + || window->y == SDL_WINDOWPOS_CENTERED) { rect.origin.y = (CGDisplayPixelsHigh(kCGDirectMainDisplay) - window->h) / 2; } else if (window->y == SDL_WINDOWPOS_UNDEFINED) { rect.origin.y = 0; @@ -471,8 +473,18 @@ NSWindow *nswindow = ((SDL_WindowData *) window->driverdata)->window; NSRect rect; - rect.origin.x = window->x; - rect.origin.y = window->y; + if ((window->flags & SDL_WINDOW_FULLSCREEN) + || window->x == SDL_WINDOWPOS_CENTERED) { + rect.origin.x = (CGDisplayPixelsWide(kCGDirectMainDisplay) - window->w) / 2; + } else { + rect.origin.x = window->x; + } + if ((window->flags & SDL_WINDOW_FULLSCREEN) + || window->y == SDL_WINDOWPOS_CENTERED) { + rect.origin.y = (CGDisplayPixelsHigh(kCGDirectMainDisplay) - window->h) / 2; + } else { + rect.origin.y = window->y; + } rect.size.width = window->w; rect.size.height = window->h; ConvertNSRect(&rect);