From f51a240755a22c904f177d80bb76136a5f3e72c8 Mon Sep 17 00:00:00 2001 From: Rider Linden <rider@lindenlab.com> Date: Wed, 20 Jan 2016 14:15:54 -0800 Subject: [PATCH] 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 8823bbce734..e9e004f4924 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(); -- GitLab