diff --git a/SUAutomaticUpdateDriver.m b/SUAutomaticUpdateDriver.m index 9f5f985cd..d5a6eeb11 100644 --- a/SUAutomaticUpdateDriver.m +++ b/SUAutomaticUpdateDriver.m @@ -16,6 +16,16 @@ @implementation SUAutomaticUpdateDriver - (void)unarchiverDidFinish:(SUUnarchiver *)ua { alert = [[SUAutomaticUpdateAlert alloc] initWithAppcastItem:updateItem host:host delegate:self]; + + // If the app is a menubar app or the like, we need to focus it first and alter the + // update prompt to behave like a normal window. Otherwise if the window were hidden + // there may be no way for the application to be activated to make it visible again. + if ([host isBackgroundApplication]) + { + [[alert window] setHidesOnDeactivate:NO]; + [NSApp activateIgnoringOtherApps:YES]; + } + if ([NSApp isActive]) [[alert window] makeKeyAndOrderFront:self]; else