diff --git a/indra/llcommon/llfasttimer_class.cpp b/indra/llcommon/llfasttimer_class.cpp index bd594b06cfd5094cd28aa3b1ec56ee59f755a954..1dfc194d7c08d2a0859c9db67bd0a0c0845ec82b 100644 --- a/indra/llcommon/llfasttimer_class.cpp +++ b/indra/llcommon/llfasttimer_class.cpp @@ -228,6 +228,13 @@ void LLFastTimer::DeclareTimer::updateCachedPointers() // update cached pointer it->mFrameState = &it->mTimer.getFrameState(); } + // also update frame states of timers on stack + LLFastTimer* cur_timerp = LLFastTimer::sCurTimerData.mCurTimer; + while(cur_timerp->mLastTimerData.mCurTimer != cur_timerp) + { + cur_timerp->mFrameState = &cur_timerp->mFrameState->mTimer->getFrameState(); + cur_timerp = cur_timerp->mLastTimerData.mCurTimer; + } } //static