From f51a240755a22c904f177d80bb76136a5f3e72c8 Mon Sep 17 00:00:00 2001 From: Rider Linden Date: Wed, 20 Jan 2016 14:15:54 -0800 Subject: MAINT-6064: If an add and join is "rejected" (rather than "failed") this the run session routine should return success (since technically it did not fail... was simply rejected by the other party) This prevents the Vivox coroutine from attempting to tear down the voice connection. --- indra/newview/llvoicevivox.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/indra/newview/llvoicevivox.cpp b/indra/newview/llvoicevivox.cpp index 8823bbce73..e9e004f492 100755 --- a/indra/newview/llvoicevivox.cpp +++ b/indra/newview/llvoicevivox.cpp @@ -821,7 +821,7 @@ bool LLVivoxVoiceClient::establishVoiceConnection() do { result = llcoro::suspendUntilEventOn(voiceConnectPump); - LL_DEBUGS("Voice") << "event=" << ll_pretty_print_sd(result) << LL_ENDL; + LL_WARNS("Voice") << "event=" << ll_pretty_print_sd(result) << LL_ENDL; } while (!result.has("connector")); @@ -1184,7 +1184,7 @@ bool LLVivoxVoiceClient::addAndJoinSession(const sessionStatePtr_t &nextSession) { result = llcoro::suspendUntilEventOn(voicePump); - LL_DEBUGS("Voice") << "event=" << ll_pretty_print_sd(result) << LL_ENDL; + LL_WARNS("Voice") << "event=" << ll_pretty_print_sd(result) << LL_ENDL; if (result.has("session")) { if (result.has("handle")) @@ -1437,7 +1437,11 @@ bool LLVivoxVoiceClient::runSession(const sessionStatePtr_t &session) if (mSessionTerminateRequested) terminateAudioSession(true); - return false; + // if a relog has been requested then addAndJoineSession + // failed in a spectacular way and we need to back out. + // If this is not the case then we were simply trying to + // make a call and the other party rejected it. + return !mRelogRequested; } notifyParticipantObservers(); -- cgit v1.2.3