diff options
author | Ychebotarev ProductEngine <ychebotarev@productengine.com> | 2010-02-05 17:50:26 +0200 |
---|---|---|
committer | Ychebotarev ProductEngine <ychebotarev@productengine.com> | 2010-02-05 17:50:26 +0200 |
commit | 166ac89de9bcf951103cbf2551a133ebe9e43035 (patch) | |
tree | 21f23a3841592edef65f940274b5b59b662e2ba6 /indra/newview/llimfloatercontainer.cpp | |
parent | ac8753a7eaab05b47d7da6e5ae8ef5f3aa324273 (diff) | |
parent | 77b5a39cc1daa79ceea599aea3f680127c9949b1 (diff) |
merge
--HG--
branch : product-engine
Diffstat (limited to 'indra/newview/llimfloatercontainer.cpp')
-rw-r--r-- | indra/newview/llimfloatercontainer.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/indra/newview/llimfloatercontainer.cpp b/indra/newview/llimfloatercontainer.cpp index 9539553121..ba034609e9 100644 --- a/indra/newview/llimfloatercontainer.cpp +++ b/indra/newview/llimfloatercontainer.cpp @@ -100,6 +100,7 @@ void LLIMFloaterContainer::addFloater(LLFloater* floaterp, icon = LLUICtrlFactory::instance().createWidget<LLGroupIconCtrl>(icon_params); mSessions[session_id] = floaterp; + floaterp->mCloseSignal.connect(boost::bind(&LLIMFloaterContainer::onCloseFloater, this, session_id)); } else { @@ -110,10 +111,16 @@ void LLIMFloaterContainer::addFloater(LLFloater* floaterp, icon = LLUICtrlFactory::instance().createWidget<LLAvatarIconCtrl>(icon_params); mSessions[avatar_id] = floaterp; + floaterp->mCloseSignal.connect(boost::bind(&LLIMFloaterContainer::onCloseFloater, this, avatar_id)); } mTabContainer->setTabImage(floaterp, icon); } +void LLIMFloaterContainer::onCloseFloater(LLUUID& id) +{ + mSessions.erase(id); +} + void LLIMFloaterContainer::processProperties(void* data, enum EAvatarProcessorType type) { if (APT_PROPERTIES == type) |