Avoid re-requesting object-inventory items that already have a pending request.
This commit is contained in:
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user