diff options
| author | Yuri Chebotarev <ychebotarev@productengine.com> | 2009-11-27 11:43:48 +0200 |
|---|---|---|
| committer | Yuri Chebotarev <ychebotarev@productengine.com> | 2009-11-27 11:43:48 +0200 |
| commit | bc57c73814db2297f17e2c6497a3ae8562bf845c (patch) | |
| tree | a8ef0bc4f8cd19a7978f04e867476d210a439b5c /indra/newview/llcallfloater.cpp | |
| parent | e8421572d01640f1fac0d8a0f04c85db35fe3b51 (diff) | |
| parent | 4441b83e3304baad458be13a36a4f676269c9ded (diff) | |
merge
--HG--
branch : product-engine
Diffstat (limited to 'indra/newview/llcallfloater.cpp')
| -rw-r--r-- | indra/newview/llcallfloater.cpp | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/indra/newview/llcallfloater.cpp b/indra/newview/llcallfloater.cpp index f566806b29..4a24b558c9 100644 --- a/indra/newview/llcallfloater.cpp +++ b/indra/newview/llcallfloater.cpp @@ -62,8 +62,6 @@ BOOL LLCallFloater::postBuild() LLDockableFloater::postBuild(); mAvatarList = getChild<LLAvatarList>("speakers_list"); - mSpeakerManager = LLLocalSpeakerMgr::getInstance(); - mPaticipants = new LLParticipantList(mSpeakerManager, mAvatarList, false); LLView *anchor_panel = LLBottomTray::getInstance()->getChild<LLView>("speak_panel"); @@ -73,4 +71,27 @@ BOOL LLCallFloater::postBuild() return TRUE; } + +// virtual +void LLCallFloater::onOpen(const LLSD& key) +{ + // by default let show nearby chat participants + mSpeakerManager = LLLocalSpeakerMgr::getInstance(); + + const LLUUID& session_id = key.asUUID(); + LLIMModel::LLIMSession* im_session = LLIMModel::getInstance()->findIMSession(session_id); + if (im_session) + { + mSpeakerManager = LLIMModel::getInstance()->getSpeakerManager(session_id); + } + + delete mPaticipants; + mAvatarList->clear(); + mPaticipants = new LLParticipantList(mSpeakerManager, mAvatarList, false); +} + +////////////////////////////////////////////////////////////////////////// +/// PRIVATE SECTION +////////////////////////////////////////////////////////////////////////// + //EOF |
