summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTodd Stinson <stinson@lindenlab.com>2012-03-06 15:57:28 -0800
committerTodd Stinson <stinson@lindenlab.com>2012-03-06 15:57:28 -0800
commit6c9561c882cf0d5bb0cb547852e95daec19f559c (patch)
tree6d1d63617beb39d22f3349116c4b3fe0e6f9a3d1
parentead79432fbfc538466995ec5654b4fda0cd70e84 (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.cpp4
-rw-r--r--indra/newview/llfloaterpathfindinglinksets.cpp2
-rw-r--r--indra/newview/llpathfindingnavmeshzone.cpp2
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();