diff options
| author | Roxie Linden <roxie@lindenlab.com> | 2010-02-26 19:18:15 -0800 |
|---|---|---|
| committer | Roxie Linden <roxie@lindenlab.com> | 2010-02-26 19:18:15 -0800 |
| commit | a2efe4bb4154b7ecb9c7cb279f7a28d7d401a93a (patch) | |
| tree | 4cafd0e64a9c45b444664d12f022cd3e675bfebd /indra/newview/llvoicechannel.cpp | |
| parent | 5352954eb65076d877cc74d4328620e910b93d1c (diff) | |
| parent | 1ae70e112a466a6ed5baf4e05c1771218c78b2f5 (diff) | |
automated merge
Diffstat (limited to 'indra/newview/llvoicechannel.cpp')
| -rw-r--r-- | indra/newview/llvoicechannel.cpp | 11 |
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()) |
