From 2a83929a585ddb123813370df0d53c19817ef3ba Mon Sep 17 00:00:00 2001
From: Richard Linden <none@none>
Date: Sat, 19 Mar 2011 00:59:17 -0700
Subject: [PATCH] SOCIAL-762 FIX Viewer crash if first startup (with cleared
 settings.xml file) is in Advanced mode fixed not being able to change to
 advanced mode on clean install without logging in

---
 indra/newview/app_settings/settings.xml | 15 +++++++++++++--
 indra/newview/llappviewer.cpp           |  1 +
 indra/newview/llviewerwindow.cpp        |  5 ++---
 3 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index 6a89f5681d..f0e28d4ae3 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -3198,7 +3198,7 @@
     <key>FirstRunThisInstall</key>
     <map>
       <key>Comment</key>
-      <string>Specifies that you have not run the viewer since you installed the latest update</string>
+      <string>Specifies that you have not run the viewer since you performed a clean install</string>
       <key>Persist</key>
       <integer>1</integer>
       <key>Type</key>
@@ -3206,7 +3206,18 @@
       <key>Value</key>
       <integer>1</integer>
     </map>
-    <key>FirstSelectedDisabledPopups</key>
+  <key>FirstLoginThisInstall</key>
+  <map>
+    <key>Comment</key>
+    <string>Specifies that you have not logged in with the viewer since you performed a clean install</string>
+    <key>Persist</key>
+    <integer>1</integer>
+    <key>Type</key>
+    <string>Boolean</string>
+    <key>Value</key>
+    <integer>1</integer>
+  </map>
+  <key>FirstSelectedDisabledPopups</key>
     <map>
       <key>Comment</key>
       <string>Return false if there is not disabled popup selected in the list of floater preferences popups</string>
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index d0f9cae078..f6fe7ecd01 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -2171,6 +2171,7 @@ bool LLAppViewer::initConfiguration()
 	if (gSavedSettings.getBOOL("FirstRunThisInstall"))
 	{
 		gSavedSettings.setString("SessionSettingsFile", "settings_minimal.xml");
+		gSavedSettings.setBOOL("FirstRunThisInstall", FALSE);
 	}
 
 	if (clp.hasOption("sessionsettings"))
diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp
index bae7b7086a..aa83bcb68b 100644
--- a/indra/newview/llviewerwindow.cpp
+++ b/indra/newview/llviewerwindow.cpp
@@ -1799,12 +1799,11 @@ void LLViewerWindow::initWorldUI()
 		avatar_picker->navigateTo(gSavedSettings.getString("AvatarPickerURL"), "text/html");
 	}
 
-	if (gSavedSettings.getBOOL("FirstRunThisInstall"))
+	if (gSavedSettings.getBOOL("FirstLoginThisInstall"))
 	{
 		toggle_destination_and_avatar_picker(0);
+		gSavedSettings.setBOOL("FirstLoginThisInstall", FALSE);
 	}
-
-	gSavedSettings.setBOOL("FirstRunThisInstall", FALSE);
 }
 
 // Destroy the UI
-- 
GitLab