diff options
author | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2020-08-28 01:22:35 +0300 |
---|---|---|
committer | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2020-08-28 01:30:37 +0300 |
commit | a42045994dacbf687cb986d8f1a644f0399cffb5 (patch) | |
tree | 3ca0d77986c1874d4b79dbc3f05e7d929bc92733 /indra/newview | |
parent | 2f52a37e6a240a4a950779f2ef769a4fbd3baaf5 (diff) |
SL-13555 'Second Life quit unexpectedly' error message
Diffstat (limited to 'indra/newview')
-rw-r--r-- | indra/newview/llappearancemgr.cpp | 13 | ||||
-rw-r--r-- | indra/newview/llvoicevivox.cpp | 15 |
2 files changed, 27 insertions, 1 deletions
diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index 1a33059188..168b8eb47a 100644 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -3582,6 +3582,10 @@ void LLAppearanceMgr::serverAppearanceUpdateCoro(LLCoreHttpUtil::HttpCoroutineAd } llcoro::suspend(); + if (LLApp::isQuitting()) + { + return; + } S32 retryCount(0); bool bRetry; do @@ -3645,6 +3649,11 @@ void LLAppearanceMgr::serverAppearanceUpdateCoro(LLCoreHttpUtil::HttpCoroutineAd LLSD result = httpAdapter->postAndSuspend(httpRequest, url, postData); + if (LLApp::isQuitting()) + { + return; + } + LLSD httpResults = result[LLCoreHttpUtil::HttpCoroutineAdapter::HTTP_RESULTS]; LLCore::HttpStatus status = LLCoreHttpUtil::HttpCoroutineAdapter::getStatusFromLLSD(httpResults); @@ -3680,6 +3689,10 @@ void LLAppearanceMgr::serverAppearanceUpdateCoro(LLCoreHttpUtil::HttpCoroutineAd LL_WARNS("Avatar") << "Bake retry #" << retryCount << " in " << timeout << " seconds." << LL_ENDL; llcoro::suspendUntilTimeout(timeout); + if (LLApp::isQuitting()) + { + return; + } bRetry = true; continue; } diff --git a/indra/newview/llvoicevivox.cpp b/indra/newview/llvoicevivox.cpp index 970570b135..7b6d9613ac 100644 --- a/indra/newview/llvoicevivox.cpp +++ b/indra/newview/llvoicevivox.cpp @@ -1740,6 +1740,12 @@ bool LLVivoxVoiceClient::waitForChannel() mIsProcessingChannels = true; llcoro::suspend(); + if (LLApp::isExiting()) + { + mRelogRequested = false; + break; + } + if (mTuningMode) { performMicTuning(); @@ -1784,6 +1790,13 @@ bool LLVivoxVoiceClient::waitForChannel() { llcoro::suspendUntilTimeout(1.0); } + + if (LLApp::isExiting()) + { + mRelogRequested = false; + break; + } + } while (mVoiceEnabled && !mRelogRequested); LL_DEBUGS("Voice") @@ -1813,7 +1826,7 @@ bool LLVivoxVoiceClient::waitForChannel() << " RelogRequested=" << mRelogRequested << " VoiceEnabled=" << mVoiceEnabled << LL_ENDL; - return true; + return !LLApp::isExiting(); } bool LLVivoxVoiceClient::runSession(const sessionStatePtr_t &session) |