1 From: Lubos Lunak <llunak@suse.cz>, Ginn Chen <ginn.chen@sun.com> |
1 From: Ginn Chen <ginn.chen@sun.com> |
2 Subject: Firefox 3.5 broken startup notification |
2 Subject: Firefox 3.5 broken startup notification |
3 References: |
3 References: |
4 http://bugzilla.novell.com/show_bug.cgi?id=518603 |
|
5 https://bugzilla.mozilla.org/show_bug.cgi?id=416053 |
|
6 https://bugzilla.mozilla.org/show_bug.cgi?id=534845 |
4 https://bugzilla.mozilla.org/show_bug.cgi?id=534845 |
7 |
5 |
8 diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp |
6 diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp |
9 --- a/toolkit/xre/nsAppRunner.cpp |
7 --- a/toolkit/xre/nsAppRunner.cpp |
10 +++ b/toolkit/xre/nsAppRunner.cpp |
8 +++ b/toolkit/xre/nsAppRunner.cpp |
11 @@ -3370,23 +3370,16 @@ XRE_main(int argc, char* argv[], const n |
9 @@ -3556,30 +3556,23 @@ XRE_main(int argc, char* argv[], const n |
12 } |
|
13 dirProvider.DoStartup(); |
|
14 |
|
15 PRBool shuttingDown = PR_FALSE; |
|
16 appStartup->GetShuttingDown(&shuttingDown); |
|
17 |
|
18 nsCOMPtr<nsICommandLineRunner> cmdLine; |
|
19 |
|
20 -#if defined(HAVE_DESKTOP_STARTUP_ID) && defined(MOZ_WIDGET_GTK2) |
|
21 - nsRefPtr<nsGTKToolkit> toolkit = GetGTKToolkit(); |
|
22 - if (toolkit && !desktopStartupID.IsEmpty()) { |
|
23 - toolkit->SetDesktopStartupID(desktopStartupID); |
|
24 - } |
|
25 -#endif |
|
26 - |
|
27 nsCOMPtr<nsIFile> workingDir; |
|
28 rv = NS_GetSpecialDirectory(NS_OS_CURRENT_WORKING_DIR, getter_AddRefs(workingDir)); |
|
29 NS_ENSURE_SUCCESS(rv, 1); |
|
30 |
|
31 if (!shuttingDown) { |
|
32 cmdLine = do_CreateInstance("@mozilla.org/toolkit/command-line;1"); |
|
33 NS_ENSURE_TRUE(cmdLine, 1); |
|
34 |
|
35 @@ -3404,16 +3397,23 @@ XRE_main(int argc, char* argv[], const n |
|
36 |
|
37 NS_TIMELINE_ENTER("appStartup->CreateHiddenWindow"); |
|
38 rv = appStartup->CreateHiddenWindow(); |
|
39 NS_TIMELINE_LEAVE("appStartup->CreateHiddenWindow"); |
|
40 NS_ENSURE_SUCCESS(rv, 1); |
|
41 |
|
42 MOZ_SPLASHSCREEN_UPDATE(50); |
|
43 |
|
44 +#if defined(HAVE_DESKTOP_STARTUP_ID) && defined(MOZ_WIDGET_GTK2) |
|
45 + nsRefPtr<nsGTKToolkit> toolkit = GetGTKToolkit(); |
|
46 + if (toolkit && !desktopStartupID.IsEmpty()) { |
|
47 + toolkit->SetDesktopStartupID(desktopStartupID); |
|
48 + } |
|
49 +#endif |
|
50 + |
|
51 // Extension Compatibility Checking and Startup |
|
52 if (gAppData->flags & NS_XRE_ENABLE_EXTENSION_MANAGER) { |
|
53 nsCOMPtr<nsIExtensionManager> em(do_GetService("@mozilla.org/extensions/manager;1")); |
|
54 NS_ENSURE_TRUE(em, 1); |
|
55 |
|
56 if (upgraded) { |
|
57 rv = em->CheckForMismatches(&needsRestart); |
|
58 if (NS_FAILED(rv)) { |
|
59 @@ -3581,30 +3581,23 @@ XRE_main(int argc, char* argv[], const n |
|
60 #ifdef XP_MACOSX |
10 #ifdef XP_MACOSX |
61 if (gBinaryPath) { |
11 if (gBinaryPath) { |
62 static char kEnvVar[MAXPATHLEN]; |
12 static char kEnvVar[MAXPATHLEN]; |
63 sprintf(kEnvVar, "XRE_BINARY_PATH=%s", gBinaryPath); |
13 sprintf(kEnvVar, "XRE_BINARY_PATH=%s", gBinaryPath); |
64 PR_SetEnv(kEnvVar); |
14 PR_SetEnv(kEnvVar); |