summaryrefslogtreecommitdiff
path: root/indra/newview/llfloaterpathfindinglinksets.cpp
diff options
context:
space:
mode:
authorprep <none@none>2012-03-02 11:29:30 -0500
committerprep <none@none>2012-03-02 11:29:30 -0500
commitf5cebb27a72cf31723eb621bdcd117f7634a4e58 (patch)
tree656bda206f1467c61d37acee3440020281440b06 /indra/newview/llfloaterpathfindinglinksets.cpp
parentc2a7006413ea5e4a0bf7b8b75fe5afdb51e9a6e5 (diff)
parente1e13bcab96565ddc7627139673519a09a60962f (diff)
merge
Diffstat (limited to 'indra/newview/llfloaterpathfindinglinksets.cpp')
-rw-r--r--indra/newview/llfloaterpathfindinglinksets.cpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/indra/newview/llfloaterpathfindinglinksets.cpp b/indra/newview/llfloaterpathfindinglinksets.cpp
index 9b86ecd66a..27047b4fd9 100644
--- a/indra/newview/llfloaterpathfindinglinksets.cpp
+++ b/indra/newview/llfloaterpathfindinglinksets.cpp
@@ -53,6 +53,7 @@
#include "llnotificationsutil.h"
#include <boost/bind.hpp>
+#include <boost/signals2.hpp>
#define XUI_LINKSET_USE_NONE 0
#define XUI_LINKSET_USE_WALKABLE 1
@@ -212,10 +213,20 @@ void LLFloaterPathfindingLinksets::onOpen(const LLSD& pKey)
{
LLPathfindingManager::getInstance()->registerAgentStateSignal(boost::bind(&LLFloaterPathfindingLinksets::onAgentStateCB, this, _1));
}
+
+ if (!mSelectionUpdateSlot.connected())
+ {
+ mSelectionUpdateSlot = LLSelectMgr::getInstance()->mUpdateSignal.connect(boost::bind(&LLFloaterPathfindingLinksets::updateControls, this));
+ }
}
void LLFloaterPathfindingLinksets::onClose(bool pAppQuitting)
{
+ if (mSelectionUpdateSlot.connected())
+ {
+ mSelectionUpdateSlot.disconnect();
+ }
+
if (mAgentStateSlot.connected())
{
mAgentStateSlot.disconnect();
@@ -307,7 +318,8 @@ LLFloaterPathfindingLinksets::LLFloaterPathfindingLinksets(const LLSD& pSeed)
mMessagingState(kMessagingUnknown),
mLinksetsListPtr(),
mLinksetsSelection(),
- mAgentStateSlot()
+ mAgentStateSlot(),
+ mSelectionUpdateSlot()
{
}
@@ -1004,7 +1016,7 @@ void LLFloaterPathfindingLinksets::updateEnableStateOnEditFields()
bool isEditEnabled = ((numSelectedItems > 0) && LLPathfindingManager::getInstance()->isAllowAlterPermanent());
mShowBeaconCheckBox->setEnabled(numSelectedItems > 0);
- mTakeButton->setEnabled(isEditEnabled && tools_visible_take_object());
+ mTakeButton->setEnabled(isEditEnabled && visible_take_object());
mTakeCopyButton->setEnabled(isEditEnabled && enable_object_take_copy());
mReturnButton->setEnabled(isEditEnabled && enable_object_return());
mDeleteButton->setEnabled(isEditEnabled && enable_object_delete());