FIRE-33841 - FS Hangs on login

This is triggered by having the stats window open from a previous session. The drawTicks call then manages to get a value_scale = INF call when drawing packet_loss. This causes the main thread to block forever in the loop. the visible symptoms (apart from the hung viewer login) are the event queue filling (reported in the log) because the main thread is no longer consuming.
meow-7.2.2
Beq 2023-12-08 02:14:18 +00:00
parent b32533586c
commit 71a98e55d3
1 changed files with 7 additions and 0 deletions

View File

@ -726,6 +726,13 @@ void LLStatBar::drawLabelAndValue( F32 value, std::string &label, LLRect &bar_re
void LLStatBar::drawTicks( F32 min, F32 max, F32 value_scale, LLRect &bar_rect )
{
// <FS:Beq> FIRE-33481 - FS hangs on login, progress bar full
LL_DEBUGS("STATBAR") << "name: " << this->getName() << "min: " << min << ", max: " << max << ", value_scale: " << value_scale << LL_ENDL;
if ( value_scale == INFINITY )
{
return;
}
// </FS:Beq>
if (!llisnan(min) && (mAutoScaleMax || mAutoScaleMin))
{
F32 u = LLSmoothInterpolation::getInterpolant(10.f);