MozillaThunderbird/mozilla-startup-notification.patch

59 lines
2.3 KiB
Diff
Raw Normal View History

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");