From f7258b49b20cb306804db8276b1caf7d9bb75e23 Mon Sep 17 00:00:00 2001
From: Mnikolenko Productengine <mnikolenko@productengine.com>
Date: Thu, 25 Nov 2021 17:33:13 +0200
Subject: [PATCH] SL-16408 Fix for crashing on disconnect

---
 indra/newview/llappviewer.cpp | 3 ++-
 indra/newview/pipeline.cpp    | 7 +++++--
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index 177558d38fc..58e15c3630d 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -1768,6 +1768,8 @@ bool LLAppViewer::cleanup()
 	//ditch LLVOAvatarSelf instance
 	gAgentAvatarp = NULL;
 
+    LLViewerCamera::deleteSingleton();
+
     LLNotifications::instance().clear();
 
 	// workaround for DEV-35406 crash on shutdown
@@ -5722,7 +5724,6 @@ void LLAppViewer::disconnectViewer()
 		LLWorld::getInstance()->destroyClass();
 	}
 	LLVOCache::deleteSingleton();
-    LLViewerCamera::deleteSingleton();
 
 	// call all self-registered classes
 	LLDestroyClassList::instance().fireCallbacks();
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index d9d97ac1e5b..5b6de5874b4 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -4010,8 +4010,11 @@ void render_hud_elements()
 		// Draw the tracking overlays
 		LLTracker::render3D();
 		
-		// Show the property lines
-		LLWorld::getInstance()->renderPropertyLines();
+        if (LLWorld::instanceExists())
+        {
+            // Show the property lines
+            LLWorld::getInstance()->renderPropertyLines();
+        }
 		LLViewerParcelMgr::getInstance()->render();
 		LLViewerParcelMgr::getInstance()->renderParcelCollision();
 	
-- 
GitLab