From 2b93f44f197930790e7f81f51ffcdaf684b4a221 Mon Sep 17 00:00:00 2001 From: Todd Stinson Date: Thu, 1 Mar 2012 16:04:18 -0800 Subject: BUGFIX Correcting a problem with the object selection code in the pathfinding characters and linksets floaters. The code was not seeing the callback from the object update message of the selection manager. --- indra/newview/llfloaterpathfindingcharacters.cpp | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'indra/newview/llfloaterpathfindingcharacters.cpp') diff --git a/indra/newview/llfloaterpathfindingcharacters.cpp b/indra/newview/llfloaterpathfindingcharacters.cpp index e2e1921cc6..ae023bc06e 100644 --- a/indra/newview/llfloaterpathfindingcharacters.cpp +++ b/indra/newview/llfloaterpathfindingcharacters.cpp @@ -123,12 +123,24 @@ void LLFloaterPathfindingCharacters::onOpen(const LLSD& pKey) { sendCharactersDataGetRequest(); selectNoneCharacters(); + + if (!mSelectionUpdateSlot.connected()) + { + mSelectionUpdateSlot = LLSelectMgr::getInstance()->mUpdateSignal.connect(boost::bind(&LLFloaterPathfindingCharacters::updateActionFields, this)); + } + mCharactersScrollList->setCommitOnSelectionChange(true); } void LLFloaterPathfindingCharacters::onClose(bool app_quitting) { mCharactersScrollList->setCommitOnSelectionChange(false); + + if (mSelectionUpdateSlot.connected()) + { + mSelectionUpdateSlot.disconnect(); + } + selectNoneCharacters(); if (mCharacterSelection.notNull()) { @@ -227,7 +239,8 @@ LLFloaterPathfindingCharacters::LLFloaterPathfindingCharacters(const LLSD& pSeed mReturnBtn(NULL), mDeleteBtn(NULL), mTeleportBtn(NULL), - mCharacterSelection() + mCharacterSelection(), + mSelectionUpdateSlot() { mSelfHandle.bind(this); } @@ -570,7 +583,7 @@ void LLFloaterPathfindingCharacters::setEnableActionFields(BOOL pEnabled) { mLabelActions->setEnabled(pEnabled); mShowBeaconCheckBox->setEnabled(pEnabled); - mTakeBtn->setEnabled(pEnabled && tools_visible_take_object()); + mTakeBtn->setEnabled(pEnabled && visible_take_object()); mTakeCopyBtn->setEnabled(pEnabled && enable_object_take_copy()); mReturnBtn->setEnabled(pEnabled && enable_object_return()); mDeleteBtn->setEnabled(pEnabled && enable_object_delete()); -- cgit v1.2.3