summaryrefslogtreecommitdiff
path: root/indra/newview/llimfloater.cpp
diff options
context:
space:
mode:
authorIgor Borovkov <iborovkov@productengine.com>2009-12-17 17:49:08 +0200
committerIgor Borovkov <iborovkov@productengine.com>2009-12-17 17:49:08 +0200
commit30f3397e35df30d444f17b00c43fb6135ddc0604 (patch)
treefc1b1034ad98219b9c64e5c44256be70dcd0081a /indra/newview/llimfloater.cpp
parentfd83b1fa11f3f84113560ce4ba6f748af64b0361 (diff)
fix. EXT-2884 Initiation of a voice call should not bring text chat (p2p, ad-hoc, group)
correct chiclet handling functionality in IM when im session is started as voice call --HG-- branch : product-engine
Diffstat (limited to 'indra/newview/llimfloater.cpp')
-rw-r--r--indra/newview/llimfloater.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/indra/newview/llimfloater.cpp b/indra/newview/llimfloater.cpp
index 7dc21e6e23..ca43833530 100644
--- a/indra/newview/llimfloater.cpp
+++ b/indra/newview/llimfloater.cpp
@@ -49,6 +49,7 @@
#include "lllogchat.h"
#include "llpanelimcontrolpanel.h"
#include "llscreenchannel.h"
+#include "llsyswellwindow.h"
#include "lltrans.h"
#include "llchathistory.h"
#include "llviewerwindow.h"
@@ -339,6 +340,29 @@ void LLIMFloater::onSlide()
//static
LLIMFloater* LLIMFloater::show(const LLUUID& session_id)
{
+ if (!gIMMgr->hasSession(session_id)) return NULL;
+
+ // we should make sure all related chiclets are in place when the session is a voice call
+ // chiclets come firts, then comes IM window
+ if (gIMMgr->isVoiceCall(session_id))
+ {
+ LLIMModel* im_model = LLIMModel::getInstance();
+ LLBottomTray* b_tray = LLBottomTray::getInstance();
+
+ //*TODO hide that into Bottom tray
+ if (!b_tray->getChicletPanel()->findChiclet<LLChiclet>(session_id))
+ {
+ LLIMChiclet* chiclet = b_tray->createIMChiclet(session_id);
+ if(chiclet)
+ {
+ chiclet->setIMSessionName(im_model->getName(session_id));
+ chiclet->setOtherParticipantId(im_model->getOtherParticipantID(session_id));
+ }
+ }
+
+ LLIMWellWindow::getInstance()->addIMRow(session_id);
+ }
+
bool not_existed = true;
if(isChatMultiTab())