diff --git a/mozilla/modules/libpref/src/init/all.js b/mozilla/modules/libpref/src/init/all.js
index 1450d784786..90d55a69c10 100644
--- a/mozilla/modules/libpref/src/init/all.js
+++ b/mozilla/modules/libpref/src/init/all.js
@@ -760,6 +760,8 @@ pref("profile.confirm_automigration",true);
// if -1, we never think your profile is defunct
// and users will never see the remigrate UI.
pref("profile.seconds_until_defunct", -1);
+// We can show it anytime from menus
+pref("profile.manage_only_at_launch", false);
// Customizable toolbar stuff
pref("custtoolbar.personal_toolbar_folder", "");
diff --git a/mozilla/profile/resources/content/profileSelection.js b/mozilla/profile/resources/content/profileSelection.js
index 0de9e1adca5..8ddee7daa31 100644
--- a/mozilla/profile/resources/content/profileSelection.js
+++ b/mozilla/profile/resources/content/profileSelection.js
@@ -92,7 +92,12 @@ function StartUp()
}
var autoSelectLastProfile = document.getElementById("autoSelectLastProfile");
- autoSelectLastProfile.checked = profile.startWithLastUsedProfile;
+ var prefs = Components.classes["@mozilla.org/preferences-service;1"]
+ .getService(Components.interfaces.nsIPrefBranch);
+ if (prefs.getBoolPref("profile.manage_only_at_launch"))
+ autoSelectLastProfile.hidden = true;
+ else
+ autoSelectLastProfile.checked = profile.startWithLastUsedProfile;
var profileList = document.getElementById("profiles");
profileList.focus();
@@ -219,9 +224,10 @@ function onStart()
if (offlineState.checked != ioService.offline)
ioService.offline = offlineState.checked;
}
-
+
var autoSelectLastProfile = document.getElementById("autoSelectLastProfile");
- profile.startWithLastUsedProfile = autoSelectLastProfile.checked;
+ if (!autoSelectLastProfile.hidden)
+ profile.startWithLastUsedProfile = autoSelectLastProfile.checked;
try {
profile.currentProfile = profilename;
diff --git a/mozilla/profile/src/nsProfile.cpp b/mozilla/profile/src/nsProfile.cpp
index 012f046b649..c0b7525cd95 100644
--- a/mozilla/profile/src/nsProfile.cpp
+++ b/mozilla/profile/src/nsProfile.cpp
@@ -468,7 +468,12 @@ nsProfile::LoadDefaultProfileDir(nsCString & profileURLStr, PRBool canInteract)
// multiple profiles.
PRBool startWithLastUsedProfile = PR_FALSE;
- GetStartWithLastUsedProfile(&startWithLastUsedProfile);
+
+ // But first, make sure this app supports this.
+ PRBool cantAutoSelect;
+ rv = prefBranch->GetBoolPref("profile.manage_only_at_launch", &cantAutoSelect);
+ if (NS_SUCCEEDED(rv) && !cantAutoSelect)
+ GetStartWithLastUsedProfile(&startWithLastUsedProfile);
// This means that there was no command-line argument to force
// profile UI to come up. But we need the UI anyway if there
diff --git a/mozilla/xpfe/communicator/resources/content/tasksOverlay.xul b/mozilla/xpfe/communicator/resources/content/tasksOverlay.xul
index 49aa01901c8..1c56f71e115 100644
--- a/mozilla/xpfe/communicator/resources/content/tasksOverlay.xul
+++ b/mozilla/xpfe/communicator/resources/content/tasksOverlay.xul
@@ -33,7 +33,7 @@
-
+