From 7ae9da8ab57a913c681ded674f48becdeafb7582 Mon Sep 17 00:00:00 2001
From: prep <prep@lindenlab.com>
Date: Wed, 2 May 2012 13:34:36 -0400
Subject: [PATCH] Handling mRenderableRestoreList data when closing pathfinding
 window

---
 indra/newview/llfloaterpathfindingconsole.cpp | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/indra/newview/llfloaterpathfindingconsole.cpp b/indra/newview/llfloaterpathfindingconsole.cpp
index 9f7e4ab838c..4c55e4debdb 100644
--- a/indra/newview/llfloaterpathfindingconsole.cpp
+++ b/indra/newview/llfloaterpathfindingconsole.cpp
@@ -302,7 +302,7 @@ void LLFloaterPathfindingConsole::onClose(bool pIsAppQuitting)
 
 	setDefaultInputs();
 	setConsoleState(kConsoleStateUnknown);
-
+	cleanupRenderableRestoreItems();
 	LLFloater::onClose(pIsAppQuitting);
 }
 
@@ -657,8 +657,8 @@ void LLFloaterPathfindingConsole::onAgentStateCB(LLPathfindingManager::EAgentSta
 }
 
 void LLFloaterPathfindingConsole::onRegionBoundaryCross()
-{
-	initializeNavMeshZoneForCurrentRegion();
+{	
+	initializeNavMeshZoneForCurrentRegion();	
 	setRenderWorld(TRUE);
 	setRenderWorldMovablesOnly(FALSE);
 }
@@ -708,6 +708,7 @@ void LLFloaterPathfindingConsole::setDefaultInputs()
 	setRenderExclusionVolumes(FALSE);
 	setRenderWaterPlane(FALSE);
 	setRenderXRay(FALSE);
+	setRenderWorldMovablesOnly(FALSE);
 }
 
 void LLFloaterPathfindingConsole::setConsoleState(EConsoleState pConsoleState)
@@ -992,13 +993,16 @@ void LLFloaterPathfindingConsole::initializeNavMeshZoneForCurrentRegion()
 	mNavMeshZone.initialize();
 	mNavMeshZone.enable();
 	mNavMeshZone.refresh();
-	mRenderableRestoreList.clear();	
+	cleanupRenderableRestoreItems();
 }
 
 void LLFloaterPathfindingConsole::cleanupRenderableRestoreItems()
 {
-	gPipeline.restorePermanentObjects( mRenderableRestoreList );
-	mRenderableRestoreList.clear();
+	if ( !mRenderableRestoreList.empty() ) 
+	{ 
+		gPipeline.restorePermanentObjects( mRenderableRestoreList ); 
+		mRenderableRestoreList.clear();
+	}
 }
 
 void LLFloaterPathfindingConsole::setAgentState(LLPathfindingManager::EAgentState pAgentState)
-- 
GitLab