diff --git a/ChangeLog b/ChangeLog index 62bb1159c..ab65f0b76 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2012-10-08 Doug Simons + + * NSWindow.m: Center on the main screen if window is off screen. + 2012-09-04 Jonathan Gillaspie * Source/NSWorkspace.m: Log if we have a distributed lock error instead of raise fatally. diff --git a/Source/NSWindow.m b/Source/NSWindow.m index c43ceda52..2f625c65b 100644 --- a/Source/NSWindow.m +++ b/Source/NSWindow.m @@ -2067,7 +2067,12 @@ many times. - (void) center { - NSSize screenSize = [[self screen] visibleFrame].size; + NSScreen *screen = [self screen]; + // if not visible on any screen, center on the main screen + if (!screen) { + screen = [NSScreen mainScreen]; + } + NSSize screenSize = [screen visibleFrame].size; NSPoint origin = _frame.origin; origin.x = (screenSize.width - _frame.size.width) / 2;