From c10f8b1aa4f2badbf4b0f72b1747c2943568ed2e Mon Sep 17 00:00:00 2001
From: Andrey Kleshchev <andreykproductengine@lindenlab.com>
Date: Fri, 25 May 2018 12:34:14 +0000
Subject: MAINT-8674 Clean up already requested ids.

---
 indra/newview/llviewerobjectlist.cpp | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

(limited to 'indra')

diff --git a/indra/newview/llviewerobjectlist.cpp b/indra/newview/llviewerobjectlist.cpp
index dc54346d59..131434504a 100644
--- a/indra/newview/llviewerobjectlist.cpp
+++ b/indra/newview/llviewerobjectlist.cpp
@@ -1046,9 +1046,11 @@ void LLViewerObjectList::fetchObjectCostsCoro(std::string url)
         mPendingObjectCost.begin(), mPendingObjectCost.end(), 
         std::inserter(diff, diff.begin()));
 
+    mStaleObjectCost.clear();
+
     if (diff.empty())
     {
-        LL_INFOS() << "No outstanding object IDs to request." << LL_ENDL;
+        LL_INFOS() << "No outstanding object IDs to request. Pending count: " << mPendingObjectCost.size() << " Requesting count: " << mStaleObjectCost.size() << LL_ENDL;
         return;
     }
 
@@ -1057,7 +1059,6 @@ void LLViewerObjectList::fetchObjectCostsCoro(std::string url)
     for (uuid_set_t::iterator it = diff.begin(); it != diff.end(); ++it)
     {
         idList.append(*it);
-        mStaleObjectCost.erase(*it);
     }
 
     mPendingObjectCost.insert(diff.begin(), diff.end());
@@ -1094,9 +1095,7 @@ void LLViewerObjectList::fetchObjectCostsCoro(std::string url)
     {
         LLUUID objectId = it->asUUID();
 
-        // If the object was added to the StaleObjectCost set after it had been 
-        // added to mPendingObjectCost it would still be in the StaleObjectCost 
-        // set when we got the response back.
+        // Object could have been added to the mStaleObjectCost after request started
         mStaleObjectCost.erase(objectId);
         mPendingObjectCost.erase(objectId);
 
-- 
cgit v1.2.3