summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErik Kundiman <erik@megapahit.org>2024-11-08 22:31:50 +0800
committerErik Kundiman <erik@megapahit.org>2024-11-08 22:31:50 +0800
commit19fbbf07ab8d17f6f94e1a3e58783562324b894f (patch)
tree235df7d525519e9b33623eae6815235be3487d72
parent0e6a1287e5883aede41f054c7845c17d0508efc8 (diff)
parentc2c468e890885b40e313cfaf93eac87b027516d7 (diff)
Merge remote-tracking branch 'secondlife/release/2024.09-ExtraFPS' into 2024.09-ExtraFPS
-rw-r--r--.github/workflows/cla.yaml2
-rw-r--r--indra/newview/llviewerobjectlist.cpp2
-rw-r--r--indra/newview/llvoicevivox.cpp51
3 files changed, 40 insertions, 15 deletions
diff --git a/.github/workflows/cla.yaml b/.github/workflows/cla.yaml
index 3f4bf21864..013adc9ca8 100644
--- a/.github/workflows/cla.yaml
+++ b/.github/workflows/cla.yaml
@@ -13,7 +13,7 @@ jobs:
steps:
- name: CLA Assistant
if: (github.event.comment.body == 'recheck' || github.event.comment.body == 'I have read the CLA Document and I hereby sign the CLA') || github.event_name == 'pull_request_target'
- uses: secondlife-3p/contributor-assistant@v2
+ uses: secondlife-3p/contributor-assistant@v2.6.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PERSONAL_ACCESS_TOKEN: ${{ secrets.SHARED_CLA_TOKEN }}
diff --git a/indra/newview/llviewerobjectlist.cpp b/indra/newview/llviewerobjectlist.cpp
index 9e1d86faac..d667fdbea8 100644
--- a/indra/newview/llviewerobjectlist.cpp
+++ b/indra/newview/llviewerobjectlist.cpp
@@ -402,7 +402,7 @@ void LLViewerObjectList::processObjectUpdate(LLMessageSystem *mesgsys,
LLViewerObject *objectp;
S32 num_objects;
- U32 local_id;
+ U32 local_id = 0;
LLPCode pcode = 0;
LLUUID fullid;
S32 i;
diff --git a/indra/newview/llvoicevivox.cpp b/indra/newview/llvoicevivox.cpp
index 6bd06e6474..d64c25d312 100644
--- a/indra/newview/llvoicevivox.cpp
+++ b/indra/newview/llvoicevivox.cpp
@@ -2034,23 +2034,48 @@ bool LLVivoxVoiceClient::waitForChannel()
llcoro::suspend();
break;
}
- sessionStatePtr_t joinSession = mNextAudioSession;
- mNextAudioSession.reset();
- mIsProcessingChannels = true;
- if (!runSession(joinSession)) //suspends
+
+ try
{
- mIsProcessingChannels = false;
- LL_DEBUGS("Voice") << "runSession returned false; leaving inner loop" << LL_ENDL;
- break;
+ sessionStatePtr_t joinSession = mNextAudioSession;
+ mNextAudioSession.reset();
+ mIsProcessingChannels = true;
+ if (!runSession(joinSession)) //suspends
+ {
+ mIsProcessingChannels = false;
+ LL_DEBUGS("Voice") << "runSession returned false; leaving inner loop" << LL_ENDL;
+ break;
+ }
+ else
+ {
+ mIsProcessingChannels = false;
+ LL_DEBUGS("Voice")
+ << "runSession returned true to inner loop"
+ << " RelogRequested=" << mRelogRequested
+ << " VoiceEnabled=" << mVoiceEnabled
+ << LL_ENDL;
+ }
}
- else
+ catch (const LLCoros::Stop&)
+ {
+ LL_DEBUGS("LLVivoxVoiceClient") << "Received a shutdown exception" << LL_ENDL;
+ }
+ catch (const LLContinueError&)
+ {
+ LOG_UNHANDLED_EXCEPTION("LLVivoxVoiceClient");
+ }
+ catch (...)
{
- mIsProcessingChannels = false;
- LL_DEBUGS("Voice")
- << "runSession returned true to inner loop"
- << " RelogRequested=" << mRelogRequested
- << " VoiceEnabled=" << mVoiceEnabled
+ // Ideally for Windows need to log SEH exception instead or to set SEH
+ // handlers but bugsplat shows local variables for windows, which should
+ // be enough
+ LL_WARNS("Voice") << "voiceControlStateMachine crashed in state VOICE_CHANNEL_STATE_PROCESS_CHANNEL"
+ << " mRelogRequested " << mRelogRequested
+ << " mVoiceEnabled " << mVoiceEnabled
+ << " mIsProcessingChannels " << mIsProcessingChannels
+ << " mProcessChannels " << mProcessChannels
<< LL_ENDL;
+ throw;
}
}