59 lines
2.3 KiB
Diff
59 lines
2.3 KiB
Diff
|
From: Lubos Lunak <llunak@suse.cz>
|
||
|
Subject: Firefox 3.5 broken startup notification
|
||
|
References:
|
||
|
http://bugzilla.novell.com/show_bug.cgi?id=518603
|
||
|
https://bugzilla.mozilla.org/show_bug.cgi?id=416053
|
||
|
|
||
|
|
||
|
diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp
|
||
|
--- a/toolkit/xre/nsAppRunner.cpp
|
||
|
+++ b/toolkit/xre/nsAppRunner.cpp
|
||
|
@@ -3168,23 +3168,16 @@ XRE_main(int argc, char* argv[], const n
|
||
|
}
|
||
|
dirProvider.DoStartup();
|
||
|
|
||
|
PRBool shuttingDown = PR_FALSE;
|
||
|
appStartup->GetShuttingDown(&shuttingDown);
|
||
|
|
||
|
nsCOMPtr<nsICommandLineRunner> cmdLine;
|
||
|
|
||
|
-#if defined(HAVE_DESKTOP_STARTUP_ID) && defined(MOZ_WIDGET_GTK2)
|
||
|
- nsRefPtr<nsGTKToolkit> toolkit = GetGTKToolkit();
|
||
|
- if (toolkit && !desktopStartupID.IsEmpty()) {
|
||
|
- toolkit->SetDesktopStartupID(desktopStartupID);
|
||
|
- }
|
||
|
-#endif
|
||
|
-
|
||
|
nsCOMPtr<nsIFile> workingDir;
|
||
|
rv = NS_GetSpecialDirectory(NS_OS_CURRENT_WORKING_DIR, getter_AddRefs(workingDir));
|
||
|
NS_ENSURE_SUCCESS(rv, 1);
|
||
|
|
||
|
if (!shuttingDown) {
|
||
|
cmdLine = do_CreateInstance("@mozilla.org/toolkit/command-line;1");
|
||
|
NS_ENSURE_TRUE(cmdLine, 1);
|
||
|
|
||
|
@@ -3200,16 +3193,23 @@ XRE_main(int argc, char* argv[], const n
|
||
|
chromeObserver->Observe(cmdLine, "command-line-startup", nsnull);
|
||
|
}
|
||
|
|
||
|
NS_TIMELINE_ENTER("appStartup->CreateHiddenWindow");
|
||
|
rv = appStartup->CreateHiddenWindow();
|
||
|
NS_TIMELINE_LEAVE("appStartup->CreateHiddenWindow");
|
||
|
NS_ENSURE_SUCCESS(rv, 1);
|
||
|
|
||
|
+#if defined(HAVE_DESKTOP_STARTUP_ID) && defined(MOZ_WIDGET_GTK2)
|
||
|
+ nsRefPtr<nsGTKToolkit> toolkit = GetGTKToolkit();
|
||
|
+ if (toolkit && !desktopStartupID.IsEmpty()) {
|
||
|
+ toolkit->SetDesktopStartupID(desktopStartupID);
|
||
|
+ }
|
||
|
+#endif
|
||
|
+
|
||
|
// Extension Compatibility Checking and Startup
|
||
|
if (gAppData->flags & NS_XRE_ENABLE_EXTENSION_MANAGER) {
|
||
|
nsCOMPtr<nsIExtensionManager> em(do_GetService("@mozilla.org/extensions/manager;1"));
|
||
|
NS_ENSURE_TRUE(em, 1);
|
||
|
|
||
|
ar = CheckArg("install-global-extension", PR_TRUE);
|
||
|
if (ar == ARG_BAD) {
|
||
|
PR_fprintf(PR_STDERR, "Error: argument -install-global-extension is invalid when argument -osint is specified\n");
|