diff options
| author | Richard Linden <none@none> | 2011-10-25 12:48:40 -0700 | 
|---|---|---|
| committer | Richard Linden <none@none> | 2011-10-25 12:48:40 -0700 | 
| commit | d0695ee11e3a4843b6022c0b0c9b781ade4b51da (patch) | |
| tree | 084b263b827996d5ad7e0b45db1041a5817b7e44 /indra | |
| parent | 35b8f7b15ccd1f7a9efd7f5e71b2481ff5245693 (diff) | |
EXP-1465 FIX Crash in IM panel destructor
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/newview/llimfloatercontainer.cpp | 3 | ||||
| -rw-r--r-- | indra/newview/llimfloatercontainer.h | 2 | 
2 files changed, 3 insertions, 2 deletions
diff --git a/indra/newview/llimfloatercontainer.cpp b/indra/newview/llimfloatercontainer.cpp index 33cb3a54a7..c8e48b0d42 100644 --- a/indra/newview/llimfloatercontainer.cpp +++ b/indra/newview/llimfloatercontainer.cpp @@ -47,12 +47,13 @@ LLIMFloaterContainer::LLIMFloaterContainer(const LLSD& seed)  LLIMFloaterContainer::~LLIMFloaterContainer()  { +	mNewMessageConnection.disconnect();  	LLTransientFloaterMgr::getInstance()->removeControlView(LLTransientFloaterMgr::IM, this);  }  BOOL LLIMFloaterContainer::postBuild()  { -	LLIMModel::instance().mNewMsgSignal.connect(boost::bind(&LLIMFloaterContainer::onNewMessageReceived, this, _1)); +	mNewMessageConnection = LLIMModel::instance().mNewMsgSignal.connect(boost::bind(&LLIMFloaterContainer::onNewMessageReceived, this, _1));  	// Do not call base postBuild to not connect to mCloseSignal to not close all floaters via Close button  	// mTabContainer will be initialized in LLMultiFloater::addChild()  	return TRUE; diff --git a/indra/newview/llimfloatercontainer.h b/indra/newview/llimfloatercontainer.h index 53dfcd78ff..892ecef48d 100644 --- a/indra/newview/llimfloatercontainer.h +++ b/indra/newview/llimfloatercontainer.h @@ -62,7 +62,7 @@ public:  private:  	typedef std::map<LLUUID,LLFloater*> avatarID_panel_map_t;  	avatarID_panel_map_t mSessions; - +	boost::signals2::connection mNewMessageConnection;  	void onNewMessageReceived(const LLSD& data);  };  | 
