Avoid re-requesting object-inventory items that already have a pending request.

This commit is contained in:
Shyotl
2012-11-12 03:18:02 -06:00
parent c2b26f6c15
commit cd5aa8f074

View File

@@ -2934,7 +2934,22 @@ void LLViewerObject::updateInventory(
bool is_new)
{
LLMemType mt(LLMemType::MTYPE_OBJECT);
std::list<LLUUID>::iterator begin = mPendingInventoryItemsIDs.begin();
std::list<LLUUID>::iterator end = mPendingInventoryItemsIDs.end();
bool is_fetching = std::find(begin, end, item->getAssetUUID()) != end;
bool is_fetched = getInventoryItemByAsset(item->getAssetUUID()) != NULL;
if (is_fetched || is_fetching)
{
return;
}
else
{
mPendingInventoryItemsIDs.push_back(item->getAssetUUID());
}
// This slices the object into what we're concerned about on the
// viewer. The simulator will take the permissions and transfer
// ownership.