summaryrefslogtreecommitdiff
path: root/indra/newview/llviewerobject.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llviewerobject.cpp')
-rw-r--r--indra/newview/llviewerobject.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp
index f242b06d9b..3a0daba8aa 100644
--- a/indra/newview/llviewerobject.cpp
+++ b/indra/newview/llviewerobject.cpp
@@ -2343,8 +2343,19 @@ void LLViewerObject::requestInventory()
doInventoryCallback();
}
// throw away duplicate requests
- else if (! mInventoryPending)
+ else
{
+ fetchInventoryFromServer();
+ }
+}
+
+void LLViewerObject::fetchInventoryFromServer()
+{
+ if (!mInventoryPending)
+ {
+ delete mInventory;
+ mInventory = NULL;
+ mInventoryDirty = FALSE;
LLMessageSystem* msg = gMessageSystem;
msg->newMessageFast(_PREHASH_RequestTaskInventory);
msg->nextBlockFast(_PREHASH_AgentData);
@@ -2631,6 +2642,9 @@ LLInventoryObject* LLViewerObject::getInventoryRoot()
LLViewerInventoryItem* LLViewerObject::getInventoryItemByAsset(const LLUUID& asset_id)
{
+ if (mInventoryDirty)
+ llwarns << "Peforming inventory lookup for object " << mID << " that has dirty inventory!" << llendl;
+
LLViewerInventoryItem* rv = NULL;
if(mInventory)
{