summaryrefslogtreecommitdiff
path: root/indra/newview/llpanelobjectinventory.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llpanelobjectinventory.cpp')
-rw-r--r--indra/newview/llpanelobjectinventory.cpp12
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();
}