diff options
author | Todd Stinson <stinson@lindenlab.com> | 2012-03-06 15:57:28 -0800 |
---|---|---|
committer | Todd Stinson <stinson@lindenlab.com> | 2012-03-06 15:57:28 -0800 |
commit | 6c9561c882cf0d5bb0cb547852e95daec19f559c (patch) | |
tree | 6d1d63617beb39d22f3349116c4b3fe0e6f9a3d1 | |
parent | ead79432fbfc538466995ec5654b4fda0cd70e84 (diff) |
Storing the slots for the registered signal listeners. Before, this was creating the artifact of crashing the Viewer on the second close of the pathfinding console.
-rw-r--r-- | indra/newview/llfloaterpathfindingconsole.cpp | 4 | ||||
-rw-r--r-- | indra/newview/llfloaterpathfindinglinksets.cpp | 2 | ||||
-rw-r--r-- | indra/newview/llpathfindingnavmeshzone.cpp | 2 |
3 files changed, 4 insertions, 4 deletions
diff --git a/indra/newview/llfloaterpathfindingconsole.cpp b/indra/newview/llfloaterpathfindingconsole.cpp index 37bf937cd1..f2404dcb6b 100644 --- a/indra/newview/llfloaterpathfindingconsole.cpp +++ b/indra/newview/llfloaterpathfindingconsole.cpp @@ -168,7 +168,7 @@ void LLFloaterPathfindingConsole::onOpen(const LLSD& pKey) {
if (!mNavMeshZoneSlot.connected())
{
- mNavMeshZone.registerNavMeshZoneListener(boost::bind(&LLFloaterPathfindingConsole::onNavMeshZoneCB, this, _1));
+ mNavMeshZoneSlot = mNavMeshZone.registerNavMeshZoneListener(boost::bind(&LLFloaterPathfindingConsole::onNavMeshZoneCB, this, _1));
}
mNavMeshZone.setCurrentRegionAsCenter();
@@ -246,7 +246,7 @@ void LLFloaterPathfindingConsole::onOpen(const LLSD& pKey) if (!mAgentStateSlot.connected())
{
- LLPathfindingManager::getInstance()->registerAgentStateListener(boost::bind(&LLFloaterPathfindingConsole::onAgentStateCB, this, _1));
+ mAgentStateSlot = LLPathfindingManager::getInstance()->registerAgentStateListener(boost::bind(&LLFloaterPathfindingConsole::onAgentStateCB, this, _1));
}
setAgentState(LLPathfindingManager::getInstance()->getAgentState());
diff --git a/indra/newview/llfloaterpathfindinglinksets.cpp b/indra/newview/llfloaterpathfindinglinksets.cpp index 5ef41f1d3f..af2024021b 100644 --- a/indra/newview/llfloaterpathfindinglinksets.cpp +++ b/indra/newview/llfloaterpathfindinglinksets.cpp @@ -211,7 +211,7 @@ void LLFloaterPathfindingLinksets::onOpen(const LLSD& pKey) if (!mAgentStateSlot.connected())
{
- LLPathfindingManager::getInstance()->registerAgentStateListener(boost::bind(&LLFloaterPathfindingLinksets::onAgentStateCB, this, _1));
+ mAgentStateSlot = LLPathfindingManager::getInstance()->registerAgentStateListener(boost::bind(&LLFloaterPathfindingLinksets::onAgentStateCB, this, _1));
}
if (!mSelectionUpdateSlot.connected())
diff --git a/indra/newview/llpathfindingnavmeshzone.cpp b/indra/newview/llpathfindingnavmeshzone.cpp index 8fa6fc3c8b..c6b9c6c338 100644 --- a/indra/newview/llpathfindingnavmeshzone.cpp +++ b/indra/newview/llpathfindingnavmeshzone.cpp @@ -81,7 +81,7 @@ void LLPathfindingNavMeshZone::refresh() LLPathfindingManager *pathfindingManagerInstance = LLPathfindingManager::getInstance();
if (!mNavMeshSlot.connected())
{
- pathfindingManagerInstance->registerNavMeshListenerForCurrentRegion(boost::bind(&LLPathfindingNavMeshZone::handleNavMesh, this, _1, _2, _3, _4));
+ mNavMeshSlot = pathfindingManagerInstance->registerNavMeshListenerForCurrentRegion(boost::bind(&LLPathfindingNavMeshZone::handleNavMesh, this, _1, _2, _3, _4));
}
pathfindingManagerInstance->requestGetNavMeshForCurrentRegion();
|