diff options
| author | Todd Stinson <stinson@lindenlab.com> | 2012-05-22 11:50:06 -0700 | 
|---|---|---|
| committer | Todd Stinson <stinson@lindenlab.com> | 2012-05-22 11:50:06 -0700 | 
| commit | 4f3a748b5b4dfb3581e3a4ccdc90ad56e2e3ad3d (patch) | |
| tree | 5a6537713dbc0114eb72fbaf4381f58d31cd1f26 | |
| parent | 8b7b9ce31c7f055708501f788ef4ed2241a2c126 (diff) | |
PATH-649: BUGFIX Re-initializing the navmesh zone following a teleport failure.
| -rw-r--r-- | indra/newview/llfloaterpathfindingconsole.cpp | 12 | ||||
| -rw-r--r-- | indra/newview/llfloaterpathfindingconsole.h | 1 | 
2 files changed, 13 insertions, 0 deletions
| diff --git a/indra/newview/llfloaterpathfindingconsole.cpp b/indra/newview/llfloaterpathfindingconsole.cpp index 426ea629ee..54e60ce0f4 100644 --- a/indra/newview/llfloaterpathfindingconsole.cpp +++ b/indra/newview/llfloaterpathfindingconsole.cpp @@ -50,6 +50,7 @@  #include "lltoolfocus.h"  #include "pipeline.h"  #include "llpathinglib.h" +#include "llviewerparcelmgr.h"  #define XUI_RENDER_HEATMAP_NONE 0  #define XUI_RENDER_HEATMAP_A 1 @@ -255,6 +256,11 @@ void LLFloaterPathfindingConsole::onOpen(const LLSD& pKey)  		mRegionBoundarySlot = LLEnvManagerNew::instance().setRegionChangeCallback(boost::bind(&LLFloaterPathfindingConsole::onRegionBoundaryCross, this));  	} +	if (!mTeleportFailedSlot.connected()) +	{ +		mTeleportFailedSlot = LLViewerParcelMgr::getInstance()->setTeleportFailedCallback(boost::bind(&LLFloaterPathfindingConsole::onRegionBoundaryCross, this)); +	} +  	if (!mPathEventSlot.connected())  	{  		mPathEventSlot = LLPathfindingPathTool::getInstance()->registerPathEventListener(boost::bind(&LLFloaterPathfindingConsole::onPathEvent, this)); @@ -279,6 +285,11 @@ void LLFloaterPathfindingConsole::onClose(bool pIsAppQuitting)  		mPathEventSlot.disconnect();  	} +	if (mTeleportFailedSlot.connected()) +	{ +		mTeleportFailedSlot.disconnect(); +	} +  	if (mRegionBoundarySlot.connected())  	{  		mRegionBoundarySlot.disconnect(); @@ -513,6 +524,7 @@ LLFloaterPathfindingConsole::LLFloaterPathfindingConsole(const LLSD& pSeed)  	mIsNavMeshUpdating(false),  	mAgentStateSlot(),  	mRegionBoundarySlot(), +	mTeleportFailedSlot(),  	mPathEventSlot(),  	mPathfindingToolset(NULL),  	mSavedToolset(NULL), diff --git a/indra/newview/llfloaterpathfindingconsole.h b/indra/newview/llfloaterpathfindingconsole.h index 8acd0fa53e..edbeae2012 100644 --- a/indra/newview/llfloaterpathfindingconsole.h +++ b/indra/newview/llfloaterpathfindingconsole.h @@ -202,6 +202,7 @@ private:  	LLPathfindingManager::agent_state_slot_t      mAgentStateSlot;  	boost::signals2::connection                   mRegionBoundarySlot; +	boost::signals2::connection                   mTeleportFailedSlot;  	LLPathfindingPathTool::path_event_slot_t      mPathEventSlot;  	LLToolset                                     *mPathfindingToolset; | 
