diff options
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/llui/llsearcheditor.cpp | 7 | ||||
| -rw-r--r-- | indra/llui/llsearcheditor.h | 2 | ||||
| -rw-r--r-- | indra/newview/llfloaterimsessiontab.cpp | 1 | ||||
| -rw-r--r-- | indra/newview/llpanelgrouproles.cpp | 4 | ||||
| -rw-r--r-- | indra/newview/llpanelgrouproles.h | 1 | ||||
| -rw-r--r-- | indra/newview/llpanelpeople.cpp | 13 | ||||
| -rw-r--r-- | indra/newview/llpanelpeople.h | 5 | 
7 files changed, 26 insertions, 7 deletions
| diff --git a/indra/llui/llsearcheditor.cpp b/indra/llui/llsearcheditor.cpp index 78bd06b67e..13051998bd 100644 --- a/indra/llui/llsearcheditor.cpp +++ b/indra/llui/llsearcheditor.cpp @@ -104,6 +104,13 @@ LLSearchEditor::LLSearchEditor(const LLSearchEditor::Params& p)  	}  } +LLSearchEditor::~LLSearchEditor() +{ +    mKeystrokeCallback = NULL; +    mTextChangedCallback = NULL; +    setCommitOnFocusLost(false); +} +  //virtual  void LLSearchEditor::draw()  { diff --git a/indra/llui/llsearcheditor.h b/indra/llui/llsearcheditor.h index b332967f9b..3f8c6323b0 100644 --- a/indra/llui/llsearcheditor.h +++ b/indra/llui/llsearcheditor.h @@ -74,7 +74,7 @@ protected:  	friend class LLUICtrlFactory;  public: -	virtual ~LLSearchEditor() {} +	virtual ~LLSearchEditor();  	/*virtual*/ void	draw(); diff --git a/indra/newview/llfloaterimsessiontab.cpp b/indra/newview/llfloaterimsessiontab.cpp index 6c2649984f..fd2d3095b3 100644 --- a/indra/newview/llfloaterimsessiontab.cpp +++ b/indra/newview/llfloaterimsessiontab.cpp @@ -470,7 +470,6 @@ void LLFloaterIMSessionTab::appendMessage(const LLChat& chat, const LLSD &args)  	{  		im_box->setTimeNow(mSessionID,chat.mFromID);  	} -	  	LLChat& tmp_chat = const_cast<LLChat&>(chat); diff --git a/indra/newview/llpanelgrouproles.cpp b/indra/newview/llpanelgrouproles.cpp index b5d4712868..6c81eb3ea1 100644 --- a/indra/newview/llpanelgrouproles.cpp +++ b/indra/newview/llpanelgrouproles.cpp @@ -437,6 +437,7 @@ LLPanelGroupSubTab::LLPanelGroupSubTab()  LLPanelGroupSubTab::~LLPanelGroupSubTab()  { +    mSearchCommitConnection.disconnect();  }  bool LLPanelGroupSubTab::postBuildSubTab(LLView* root)  @@ -469,7 +470,8 @@ bool LLPanelGroupSubTab::postBuild()  	mSearchEditor = findChild<LLFilterEditor>("filter_input", recurse);  	if (mSearchEditor) // SubTab doesn't implement this, only some of derived classes  	{ -		mSearchEditor->setCommitCallback(boost::bind(&LLPanelGroupSubTab::setSearchFilter, this, _2)); +        // panel  +        mSearchCommitConnection = mSearchEditor->setCommitCallback(boost::bind(&LLPanelGroupSubTab::setSearchFilter, this, _2));  	}  	return LLPanelGroupTab::postBuild(); diff --git a/indra/newview/llpanelgrouproles.h b/indra/newview/llpanelgrouproles.h index a4ae81eb60..3fa96213e5 100644 --- a/indra/newview/llpanelgrouproles.h +++ b/indra/newview/llpanelgrouproles.h @@ -136,6 +136,7 @@ protected:  	LLPanel* mFooter;  	LLFilterEditor*	mSearchEditor; +    boost::signals2::connection mSearchCommitConnection;  	std::string mSearchFilter; diff --git a/indra/newview/llpanelpeople.cpp b/indra/newview/llpanelpeople.cpp index a480c79504..da2206aefb 100644 --- a/indra/newview/llpanelpeople.cpp +++ b/indra/newview/llpanelpeople.cpp @@ -577,6 +577,11 @@ LLPanelPeople::~LLPanelPeople()  	delete mFriendListUpdater;  	delete mRecentListUpdater; +    mNearbyFilterCommitConnection.disconnect(); +    mFriedsFilterCommitConnection.disconnect(); +    mGroupsFilterCommitConnection.disconnect(); +    mRecentFilterCommitConnection.disconnect(); +  	if(LLVoiceClient::instanceExists())  	{  		LLVoiceClient::getInstance()->removeObserver(this); @@ -613,10 +618,10 @@ bool LLPanelPeople::postBuild()  {  	S32 max_premium = LLAgentBenefitsMgr::get("Premium").getGroupMembershipLimit(); -	getChild<LLFilterEditor>("nearby_filter_input")->setCommitCallback(boost::bind(&LLPanelPeople::onFilterEdit, this, _2)); -	getChild<LLFilterEditor>("friends_filter_input")->setCommitCallback(boost::bind(&LLPanelPeople::onFilterEdit, this, _2)); -	getChild<LLFilterEditor>("groups_filter_input")->setCommitCallback(boost::bind(&LLPanelPeople::onFilterEdit, this, _2)); -	getChild<LLFilterEditor>("recent_filter_input")->setCommitCallback(boost::bind(&LLPanelPeople::onFilterEdit, this, _2)); +    mNearbyFilterCommitConnection = getChild<LLFilterEditor>("nearby_filter_input")->setCommitCallback(boost::bind(&LLPanelPeople::onFilterEdit, this, _2)); +    mFriedsFilterCommitConnection = getChild<LLFilterEditor>("friends_filter_input")->setCommitCallback(boost::bind(&LLPanelPeople::onFilterEdit, this, _2)); +    mGroupsFilterCommitConnection = getChild<LLFilterEditor>("groups_filter_input")->setCommitCallback(boost::bind(&LLPanelPeople::onFilterEdit, this, _2)); +    mRecentFilterCommitConnection = getChild<LLFilterEditor>("recent_filter_input")->setCommitCallback(boost::bind(&LLPanelPeople::onFilterEdit, this, _2));  	if(LLAgentBenefitsMgr::current().getGroupMembershipLimit() < max_premium)  	{ diff --git a/indra/newview/llpanelpeople.h b/indra/newview/llpanelpeople.h index 807384f50c..058f34aa2f 100644 --- a/indra/newview/llpanelpeople.h +++ b/indra/newview/llpanelpeople.h @@ -147,6 +147,11 @@ private:  	Updater*				mRecentListUpdater;  	Updater*				mButtonsUpdater;      LLHandle< LLFloater >	mPicker; + +    boost::signals2::connection mNearbyFilterCommitConnection; +    boost::signals2::connection mFriedsFilterCommitConnection; +    boost::signals2::connection mGroupsFilterCommitConnection; +    boost::signals2::connection mRecentFilterCommitConnection;  };  #endif //LL_LLPANELPEOPLE_H | 
