Merge branch 'release/2025.08' of https://github.com/secondlife/viewer

master
Ansariel 2025-10-22 13:52:45 +02:00
commit 1a80805ef8
3 changed files with 24 additions and 5 deletions

View File

@ -1011,6 +1011,7 @@ void LLPluginProcessParent::poll(F64 timeout)
}
// Remove instances in the done state from the sInstances map.
LLCoros::LockType lock(*sInstancesMutex);
mapInstances_t::iterator itClean = sInstances.begin();
while (itClean != sInstances.end())
{

View File

@ -1710,6 +1710,11 @@ void LLFloaterIMContainer::showConversation(const LLUUID& session_id)
if (session_floater)
{
session_floater->restoreFloater();
if (session_floater->isTornOff() && session_floater->isMinimized())
{
session_floater->setMinimized(false);
session_floater->setFocus(true);
}
}
}

View File

@ -396,7 +396,7 @@ void LLWebRTCVoiceClient::updateSettings()
config.mNoiseSuppressionLevel = noiseSuppressionLevel;
audioConfigChanged = true;
}
if (audioConfigChanged)
if (audioConfigChanged && mWebRTCDeviceInterface)
{
mWebRTCDeviceInterface->setAudioConfig(config);
}
@ -805,7 +805,10 @@ void LLWebRTCVoiceClient::tuningStart()
{
if (!mIsInTuningMode)
{
mWebRTCDeviceInterface->setTuningMode(true);
if (mWebRTCDeviceInterface)
{
mWebRTCDeviceInterface->setTuningMode(true);
}
mIsInTuningMode = true;
}
}
@ -814,7 +817,10 @@ void LLWebRTCVoiceClient::tuningStop()
{
if (mIsInTuningMode)
{
mWebRTCDeviceInterface->setTuningMode(false);
if (mWebRTCDeviceInterface)
{
mWebRTCDeviceInterface->setTuningMode(false);
}
mIsInTuningMode = false;
}
}
@ -847,6 +853,10 @@ void LLWebRTCVoiceClient::tuningSetSpeakerVolume(float volume)
float LLWebRTCVoiceClient::tuningGetEnergy(void)
{
if (!mWebRTCDeviceInterface)
{
return 0.f;
}
float rms = mWebRTCDeviceInterface->getTuningAudioLevel();
return TUNING_LEVEL_START_POINT - TUNING_LEVEL_SCALE * rms;
}
@ -874,7 +884,10 @@ void LLWebRTCVoiceClient::refreshDeviceLists(bool clearCurrentList)
clearCaptureDevices();
clearRenderDevices();
}
mWebRTCDeviceInterface->refreshDevices();
if (mWebRTCDeviceInterface)
{
mWebRTCDeviceInterface->refreshDevices();
}
}
@ -1182,7 +1195,7 @@ void LLWebRTCVoiceClient::sendPositionUpdate(bool force)
void LLWebRTCVoiceClient::updateOwnVolume()
{
F32 audio_level = 0.0f;
if (!mMuteMic)
if (!mMuteMic && mWebRTCDeviceInterface)
{
float rms = mWebRTCDeviceInterface->getPeerConnectionAudioLevel();
audio_level = LEVEL_START_POINT - LEVEL_SCALE * rms;