From 0a745b47880fb16b1db8cd3327377a383dbfe6a8 Mon Sep 17 00:00:00 2001
From: Andrey Lihatskiy <alihatskiy@productengine.com>
Date: Tue, 8 Jun 2021 05:06:21 +0300
Subject: Revert "Merge branch 'DRTVWR-520-apple-notarization' into
 DRTVWR-540-maint"

This reverts commit 681298dd726b2d00910fe71646147fadd1aba980, reversing
changes made to 323f41f4892248762fc8505d8df17d70bd833cf3.
---
 indra/newview/llappviewer.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'indra/newview/llappviewer.cpp')

diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index 66a33ed6ae..053c0a5ab7 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -738,7 +738,7 @@ LLAppViewer::LLAppViewer()
 	std::string logdir = gDirUtilp->getExpandedFilename(LL_PATH_DUMP, "");
 #endif // ! LL_BUGSPLAT
 	mDumpPath = logdir;
-
+	setMiniDumpDir(logdir);
 	setDebugFileNames(logdir);
 }
 
-- 
cgit v1.2.3


From 30c67f6f1836db6c2d3e235f1cc76cc8263888b1 Mon Sep 17 00:00:00 2001
From: Andrey Kleshchev <andreykproductengine@lindenlab.com>
Date: Fri, 30 Jul 2021 08:57:21 +0300
Subject: SL-443 Remove legacy keybindings code

---
 indra/newview/llappviewer.cpp | 114 ------------------------------------------
 1 file changed, 114 deletions(-)

(limited to 'indra/newview/llappviewer.cpp')

diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index 891722e1bd..7b642386d0 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -4437,120 +4437,6 @@ void LLAppViewer::addOnIdleCallback(const boost::function<void()>& cb)
 void LLAppViewer::loadKeyBindings()
 {
 	std::string key_bindings_file = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "key_bindings.xml");
-#if 1
-	// Legacy support
-	// Remove #if-#endif section half a year after DRTVWR-501 releases.
-	// Mouse actions are part of keybinding file since DRTVWR-501 instead of being stored in
-	// settings.xml. To support legacy viewers that were storing in  settings.xml we need to
-	// transfer old variables to new format.
-	// Also part of backward compatibility is present in LLKeyConflictHandler to modify
-	// legacy variables on changes in new system (to make sure we won't enforce
-	// legacy values again if user dropped to defaults in new system)
-	if (LLVersionInfo::getInstance()->getChannelAndVersion() != gLastRunVersion
-		|| !gDirUtilp->fileExists(key_bindings_file)) // if file is missing, assume that there were no changes by user yet
-	{
-		// copy mouse actions and voice key changes to new file
-		LL_INFOS("InitInfo") << "Converting legacy mouse bindings to new format" << LL_ENDL;
-		// Load settings from file
-		LLKeyConflictHandler third_person_view(LLKeyConflictHandler::MODE_THIRD_PERSON);
-		LLKeyConflictHandler sitting_view(LLKeyConflictHandler::MODE_SITTING);
-
-		// Since we are only modifying keybindings if personal file doesn't exist yet,
-		// it should be safe to just overwrite the value
-		// If key is already in use somewhere by default, LLKeyConflictHandler should resolve it.
-		BOOL value = gSavedSettings.getBOOL("DoubleClickAutoPilot");
-		third_person_view.registerControl("walk_to",
-			0,
-			value ? EMouseClickType::CLICK_DOUBLELEFT : EMouseClickType::CLICK_NONE,
-			KEY_NONE,
-			MASK_NONE,
-			value);
-
-		U32 index = value ? 1 : 0; // we can store multiple combinations per action, so if first is in use by doubleclick, go to second
-		value = gSavedSettings.getBOOL("ClickToWalk");
-		third_person_view.registerControl("walk_to",
-			index,
-			value ? EMouseClickType::CLICK_LEFT : EMouseClickType::CLICK_NONE,
-			KEY_NONE,
-			MASK_NONE,
-			value);
-
-		value = gSavedSettings.getBOOL("DoubleClickTeleport");
-		third_person_view.registerControl("teleport_to",
-			0,
-			value ? EMouseClickType::CLICK_DOUBLELEFT : EMouseClickType::CLICK_NONE,
-			KEY_NONE,
-			MASK_NONE,
-			value);
-
-		// sitting also supports teleport
-		sitting_view.registerControl("teleport_to",
-			0,
-			value ? EMouseClickType::CLICK_DOUBLELEFT : EMouseClickType::CLICK_NONE,
-			KEY_NONE,
-			MASK_NONE,
-			value);
-
-		std::string key_string = gSavedSettings.getString("PushToTalkButton");
-		EMouseClickType mouse = EMouseClickType::CLICK_NONE;
-		KEY key = KEY_NONE;
-		if (key_string == "MiddleMouse")
-		{
-			mouse = EMouseClickType::CLICK_MIDDLE;
-		}
-		else if (key_string == "MouseButton4")
-		{
-			mouse = EMouseClickType::CLICK_BUTTON4;
-		}
-		else if (key_string == "MouseButton5")
-		{
-			mouse = EMouseClickType::CLICK_BUTTON5;
-		}
-		else
-		{
-			LLKeyboard::keyFromString(key_string, &key);
-		}
-
-		value = gSavedSettings.getBOOL("PushToTalkToggle");
-		std::string control_name = value ? "toggle_voice" : "voice_follow_key";
-		third_person_view.registerControl(control_name, 0, mouse, key, MASK_NONE, true);
-		sitting_view.registerControl(control_name, 0, mouse, key, MASK_NONE, true);
-
-		if (third_person_view.hasUnsavedChanges())
-		{
-			// calls loadBindingsXML()
-			third_person_view.saveToSettings();
-		}
-
-		if (sitting_view.hasUnsavedChanges())
-		{
-			// calls loadBindingsXML()
-			sitting_view.saveToSettings();
-		}
-
-		// in case of voice we need to repeat this in other modes
-
-		for (U32 i = 0; i < LLKeyConflictHandler::MODE_COUNT - 1; ++i)
-		{
-			// edit and first person modes; MODE_SAVED_SETTINGS not in use at the moment
-			if (i != LLKeyConflictHandler::MODE_THIRD_PERSON && i != LLKeyConflictHandler::MODE_SITTING)
-			{
-				LLKeyConflictHandler handler((LLKeyConflictHandler::ESourceMode)i);
-
-				handler.registerControl(control_name, 0, mouse, key, MASK_NONE, true);
-
-				if (handler.hasUnsavedChanges())
-				{
-					// calls loadBindingsXML()
-					handler.saveToSettings();
-				}
-			}
-		}
-	}
-	// since something might have gone wrong or there might have been nothing to save
-	// (and because otherwise following code will have to be encased in else{}),
-	// load everything one last time
-#endif
 	if (!gDirUtilp->fileExists(key_bindings_file) || !gViewerInput.loadBindingsXML(key_bindings_file))
 	{
 		// Failed to load custom bindings, try default ones
-- 
cgit v1.2.3


From 37e5a0b6629545ab58fe437d81514e5ce928715e Mon Sep 17 00:00:00 2001
From: Andrey Kleshchev <andreykproductengine@lindenlab.com>
Date: Wed, 29 Sep 2021 22:47:58 +0300
Subject: SL-13934 Crash at saveToFile

---
 indra/newview/llappviewer.cpp | 20 ++++++++++++--------
 1 file changed, 12 insertions(+), 8 deletions(-)

(limited to 'indra/newview/llappviewer.cpp')

diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index 7b642386d0..1911486124 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -5456,14 +5456,18 @@ void LLAppViewer::disconnectViewer()
 	}
 
 	// save inventory if appropriate
-	gInventory.cache(gInventory.getRootFolderID(), gAgent.getID());
-	if (gInventory.getLibraryRootFolderID().notNull()
-		&& gInventory.getLibraryOwnerID().notNull())
-	{
-		gInventory.cache(
-			gInventory.getLibraryRootFolderID(),
-			gInventory.getLibraryOwnerID());
-	}
+    if (gInventory.isInventoryUsable()
+        && gAgent.getID().notNull()) // Shouldn't be null at this stage
+    {
+        gInventory.cache(gInventory.getRootFolderID(), gAgent.getID());
+        if (gInventory.getLibraryRootFolderID().notNull()
+            && gInventory.getLibraryOwnerID().notNull())
+        {
+            gInventory.cache(
+                gInventory.getLibraryRootFolderID(),
+                gInventory.getLibraryOwnerID());
+        }
+    }
 
 	saveNameCache();
 	if (LLExperienceCache::instanceExists())
-- 
cgit v1.2.3


From 90286fa476576be2ebe0a9aa478a9b4b5a7911df Mon Sep 17 00:00:00 2001
From: Andrey Kleshchev <andreykproductengine@lindenlab.com>
Date: Thu, 28 Oct 2021 23:42:38 +0300
Subject: SL-16235 Restart music in case of an error

Additional logging
---
 indra/newview/llappviewer.cpp | 2 ++
 1 file changed, 2 insertions(+)

(limited to 'indra/newview/llappviewer.cpp')

diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index 1911486124..585739eca4 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -1821,6 +1821,8 @@ bool LLAppViewer::cleanup()
 
 	if (gAudiop)
 	{
+        LL_INFOS() << "Shutting down audio" << LL_ENDL;
+
         // be sure to stop the internet stream cleanly BEFORE destroying the interface to stop it.
         gAudiop->stopInternetStream();
         // shut down the streaming audio sub-subsystem first, in case it relies on not outliving the general audio subsystem.
-- 
cgit v1.2.3


From 98d96f0dea03d96b5be2947d05cd3cb55950afc6 Mon Sep 17 00:00:00 2001
From: Andrey Kleshchev <andreykproductengine@lindenlab.com>
Date: Tue, 2 Nov 2021 22:45:42 +0200
Subject: Manually resolving conflicts after merge with DRTVWR-520

This reverts commit 0a745b47880fb16b1db8cd3327377a383dbfe6a8.
---
 indra/newview/llappviewer.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'indra/newview/llappviewer.cpp')

diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index ebe1e3f826..74cb4491a0 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -739,7 +739,7 @@ LLAppViewer::LLAppViewer()
 	std::string logdir = gDirUtilp->getExpandedFilename(LL_PATH_DUMP, "");
 #   endif // ! LL_BUGSPLAT
 	mDumpPath = logdir;
-	setMiniDumpDir(logdir);
+
 	setDebugFileNames(logdir);
 }
 
-- 
cgit v1.2.3