diff --git a/macosx/Controller.m b/macosx/Controller.m index acd62c854..5ea1601d9 100644 --- a/macosx/Controller.m +++ b/macosx/Controller.m @@ -621,8 +621,14 @@ static void sleepCallback(void * controller, io_service_t y, natural_t messageTy - (BOOL) applicationShouldHandleReopen: (NSApplication *) app hasVisibleWindows: (BOOL) visibleWindows { - if (![fWindow isVisible] && ![[fPrefsController window] isVisible]) - [fWindow makeKeyAndOrderFront: nil]; + if (visibleWindows) + { + for (NSWindow * window in [NSApp windows]) + if ([window isVisible] && [window canBecomeMainWindow]) + return NO; + } + + [fWindow makeKeyAndOrderFront: nil]; return NO; }