summaryrefslogtreecommitdiff
path: root/indra/newview/llvoicechannel.cpp
diff options
context:
space:
mode:
authorRoxie Linden <roxie@lindenlab.com>2010-02-26 19:18:15 -0800
committerRoxie Linden <roxie@lindenlab.com>2010-02-26 19:18:15 -0800
commita2efe4bb4154b7ecb9c7cb279f7a28d7d401a93a (patch)
tree4cafd0e64a9c45b444664d12f022cd3e675bfebd /indra/newview/llvoicechannel.cpp
parent5352954eb65076d877cc74d4328620e910b93d1c (diff)
parent1ae70e112a466a6ed5baf4e05c1771218c78b2f5 (diff)
automated merge
Diffstat (limited to 'indra/newview/llvoicechannel.cpp')
-rw-r--r--indra/newview/llvoicechannel.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/indra/newview/llvoicechannel.cpp b/indra/newview/llvoicechannel.cpp
index dc66541df9..4cb2fe9ff5 100644
--- a/indra/newview/llvoicechannel.cpp
+++ b/indra/newview/llvoicechannel.cpp
@@ -122,7 +122,8 @@ LLVoiceChannel::LLVoiceChannel(const LLUUID& session_id, const std::string& sess
mState(STATE_NO_CHANNEL_INFO),
mSessionName(session_name),
mCallDirection(OUTGOING_CALL),
- mIgnoreNextSessionLeave(FALSE)
+ mIgnoreNextSessionLeave(FALSE),
+ mCallEndedByAgent(false)
{
mNotifyArgs["VOICE_CHANNEL_NAME"] = mSessionName;
@@ -418,7 +419,7 @@ void LLVoiceChannel::doSetState(const EState& new_state)
EState old_state = mState;
mState = new_state;
if (!mStateChangedCallback.empty())
- mStateChangedCallback(old_state, mState, mCallDirection);
+ mStateChangedCallback(old_state, mState, mCallDirection, mCallEndedByAgent);
}
//static
@@ -783,7 +784,8 @@ void LLVoiceChannelP2P::handleStatusChange(EStatusType type)
}
else
{
- // other user hung up
+ // other user hung up, so we didn't end the call
+ mCallEndedByAgent = false;
}
deactivate();
}
@@ -814,6 +816,9 @@ void LLVoiceChannelP2P::activate()
{
if (callStarted()) return;
+ //call will be counted as ended by user unless this variable is changed in handleStatusChange()
+ mCallEndedByAgent = true;
+
LLVoiceChannel::activate();
if (callStarted())