summaryrefslogtreecommitdiff
path: root/indra/newview/llcallfloater.cpp
diff options
context:
space:
mode:
authorYuri Chebotarev <ychebotarev@productengine.com>2009-11-27 11:43:48 +0200
committerYuri Chebotarev <ychebotarev@productengine.com>2009-11-27 11:43:48 +0200
commitbc57c73814db2297f17e2c6497a3ae8562bf845c (patch)
treea8ef0bc4f8cd19a7978f04e867476d210a439b5c /indra/newview/llcallfloater.cpp
parente8421572d01640f1fac0d8a0f04c85db35fe3b51 (diff)
parent4441b83e3304baad458be13a36a4f676269c9ded (diff)
merge
--HG-- branch : product-engine
Diffstat (limited to 'indra/newview/llcallfloater.cpp')
-rw-r--r--indra/newview/llcallfloater.cpp25
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