diff --git a/indra/newview/llviewerobjectlist.cpp b/indra/newview/llviewerobjectlist.cpp index caf19088ec..999dbaf40b 100644 --- a/indra/newview/llviewerobjectlist.cpp +++ b/indra/newview/llviewerobjectlist.cpp @@ -1628,15 +1628,12 @@ void LLViewerObjectList::cleanDeadObjects(BOOL use_timer) { // Scan for all of the dead objects and put them all on the end of the list with no ref count ops objectp = *iter; - // catch up check removed and a guard on the if added. this allows us to skip random nulls in the list (no idea if it can happen) - // if (objectp == NULL) - // { //we caught up to the dead tail - // break; - // } + if (objectp == NULL) + { //we caught up to the dead tail + break; + } - // if objectp->isDead()) - if (objectp && objectp->isDead()) - // + if (objectp->isDead()) { // FIRE-30694 DeadObject Spam // mDeadObjects.erase(objectp->mID); // Use timer for cleaning up dead objects @@ -1658,7 +1655,7 @@ void LLViewerObjectList::cleanDeadObjects(BOOL use_timer) // Use timer for cleaning up dead objects //if (num_removed == mNumDeadObjects || iter->isNull()) - if (num_removed == mNumDeadObjects || vobj_list_t::reverse_iterator{iter} == target || (use_timer && timer.getElapsedTimeF64() > max_time)) + if (num_removed == mNumDeadObjects || iter->isNull() || (use_timer && timer.getElapsedTimeF64() > max_time)) // { // We've cleaned up all of the dead objects or caught up to the dead tail @@ -1687,7 +1684,7 @@ void LLViewerObjectList::cleanDeadObjects(BOOL use_timer) // TODO(Beq) If this still happens, we ought to realign at this point. Do a full sweep and reset. if ( mNumDeadObjects != mDeadObjects.size() ) { - LL_WARNS() << "Num dead objects (" << mNumDeadObjects << ") != dead object list size (" << mDeadObjects.size() << "), deadlist discrepancy (" << num_divergent << ")" << LL_ENDL; + LL_WARNS_ONCE() << "Num dead objects (" << mNumDeadObjects << ") != dead object list size (" << mDeadObjects.size() << "), deadlist discrepancy (" << num_divergent << ")" << LL_ENDL; } // }