summaryrefslogtreecommitdiff
path: root/indra/newview/llvoicechannel.cpp
diff options
context:
space:
mode:
authorTofu Linden <tofu.linden@lindenlab.com>2009-11-12 14:15:19 +0000
committerTofu Linden <tofu.linden@lindenlab.com>2009-11-12 14:15:19 +0000
commit7cf3008da7c44c592af14de7498cf4270afcec31 (patch)
treeba78953cb882d63195d5b3aa1604687709bfbd84 /indra/newview/llvoicechannel.cpp
parent095a3d4372bd755c2fbe6bccf1bc25255d59b5ca (diff)
more work on the outgoing call popup...
Diffstat (limited to 'indra/newview/llvoicechannel.cpp')
-rw-r--r--indra/newview/llvoicechannel.cpp23
1 files changed, 14 insertions, 9 deletions
diff --git a/indra/newview/llvoicechannel.cpp b/indra/newview/llvoicechannel.cpp
index b0ea07946c..164cb1a51a 100644
--- a/indra/newview/llvoicechannel.cpp
+++ b/indra/newview/llvoicechannel.cpp
@@ -378,18 +378,9 @@ void LLVoiceChannel::setURI(std::string uri)
void LLVoiceChannel::setState(EState state)
{
- LLSD payload;
- payload["session_id"] = mSessionID;
- payload["session_name"] = mSessionName;
-
switch(state)
{
case STATE_RINGING:
- llinfos << "RINGINGGGGGGGG " << mSessionName << llendl;
- if (!mSessionName.empty())
- {
- LLFloaterReg::showInstance("outgoing_call", payload, TRUE);
- }
gIMMgr->addSystemMessage(mSessionID, "ringing", mNotifyArgs);
break;
case STATE_CONNECTED:
@@ -879,6 +870,20 @@ void LLVoiceChannelP2P::setState(EState state)
{
// HACK: Open/close the call window if needed.
toggleCallWindowIfNeeded(state);
+
+ // *HACK: open outgoing call floater if needed, might be better done elsewhere.
+ LLSD payload;
+ payload["session_id"] = mSessionID;
+ payload["session_name"] = mSessionName;
+ payload["other_user_id"] = mOtherUserID;
+ if (!mReceivedCall && state == STATE_RINGING)
+ {
+ llinfos << "RINGINGGGGGGGG " << mSessionName << llendl;
+ if (!mSessionName.empty())
+ {
+ LLFloaterReg::showInstance("outgoing_call", payload, TRUE);
+ }
+ }
// you only "answer" voice invites in p2p mode
// so provide a special purpose message here