diff --git a/mozilla/camino/src/browser/BrowserWindowController.mm b/mozilla/camino/src/browser/BrowserWindowController.mm index 29899552613..58688465551 100644 --- a/mozilla/camino/src/browser/BrowserWindowController.mm +++ b/mozilla/camino/src/browser/BrowserWindowController.mm @@ -1696,6 +1696,7 @@ public: // Always allow the search engine menu to work if (action == @selector(searchEngineChanged:) || + action == @selector(installSearchPlugin:) || action == @selector(manageSearchEngines:) || action == @selector(findSearchEngines:)) { @@ -4701,10 +4702,15 @@ public: - (void)showSearchPluginDetected:(BOOL)pluginsAreDetected { - if (pluginsAreDetected) - [mSearchBar setDetectedSearchPlugins:[[self browserWrapper] detectedSearchPlugins]]; - else + if (pluginsAreDetected) { + NSArray* detectedPlugins = [[self browserWrapper] detectedSearchPlugins]; + [mSearchBar setDetectedSearchPlugins:detectedPlugins]; + [mSearchSheetTextField setDetectedSearchPlugins:detectedPlugins]; + } + else { [mSearchBar setDetectedSearchPlugins:nil]; + [mSearchSheetTextField setDetectedSearchPlugins:nil]; + } } - (BOOL)webSearchField:(WebSearchField*)searchField shouldListDetectedSearchPlugin:(NSDictionary *)searchPluginInfoDict @@ -4741,6 +4747,7 @@ public: // Because of this, select the last engine. NSString* installedPluginName = [[[SearchEngineManager sharedSearchEngineManager] installedSearchEngineNames] lastObject]; [mSearchBar setCurrentSearchEngine:installedPluginName]; + [mSearchSheetTextField setCurrentSearchEngine:installedPluginName]; } else { NSString* searchPluginName = [searchPlugin valueForKey:kWebSearchPluginNameKey]; @@ -4749,10 +4756,15 @@ public: [alert setMessageText:NSLocalizedString(@"SearchPluginInstallationErrorTitle", nil)]; [alert setInformativeText:[NSString stringWithFormat:NSLocalizedString(@"SearchPluginInstallationErrorMessage", nil), searchPluginName]]; [alert setAlertStyle:NSWarningAlertStyle]; - [alert beginSheetModalForWindow:[self window] - modalDelegate:self - didEndSelector:NULL - contextInfo:NULL]; + if ([[self window] attachedSheet]) { + [alert runModal]; + } + else { + [alert beginSheetModalForWindow:[self window] + modalDelegate:self + didEndSelector:NULL + contextInfo:NULL]; + } } }