diff options
Diffstat (limited to 'indra/newview/llpanelobjectinventory.cpp')
-rw-r--r-- | indra/newview/llpanelobjectinventory.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/indra/newview/llpanelobjectinventory.cpp b/indra/newview/llpanelobjectinventory.cpp index c4211d5508..addb0fbe4d 100644 --- a/indra/newview/llpanelobjectinventory.cpp +++ b/indra/newview/llpanelobjectinventory.cpp @@ -1849,6 +1849,7 @@ void LLPanelObjectInventory::refresh() if(mTaskUUID != object->mID) { mTaskUUID = object->mID; + mAttachmentUUID = object->getAttachmentItemID(); make_request = TRUE; // This is a new object so pre-emptively clear the contents @@ -1858,6 +1859,16 @@ void LLPanelObjectInventory::refresh() // Register for updates from this object, registerVOInventoryListener(object,NULL); } + else if (mAttachmentUUID != object->getAttachmentItemID()) + { + mAttachmentUUID = object->getAttachmentItemID(); + if (mAttachmentUUID.notNull()) + { + // Server unsubsribes viewer (deselects object) from property + // updates after "ObjectAttach" so we need to resubscribe + LLSelectMgr::getInstance()->sendSelect(); + } + } // Based on the node information, we may need to dirty the // object inventory and get it again. @@ -1888,6 +1899,7 @@ void LLPanelObjectInventory::refresh() void LLPanelObjectInventory::clearInventoryTask() { mTaskUUID = LLUUID::null; + mAttachmentUUID = LLUUID::null; removeVOInventoryListener(); clearContents(); } |