summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorandreykproductengine <akleshchev@productengine.com>2017-03-01 19:26:26 +0200
committerandreykproductengine <akleshchev@productengine.com>2017-03-01 19:26:26 +0200
commit535f5c51202085ed5ad88ad1949fd7bcb0dc5174 (patch)
treea2fd2fc694c9ddeec90bd8988a39e8bb47806125 /indra
parentb923ee861bf2c5c6ac065ff9995cd6bf5da02b6c (diff)
MAINT-7161 Crash in LLViewerInventoryItem
Diffstat (limited to 'indra')
-rw-r--r--indra/newview/llappearancemgr.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp
index 35d08c7ab1..feb981217d 100644
--- a/indra/newview/llappearancemgr.cpp
+++ b/indra/newview/llappearancemgr.cpp
@@ -1249,9 +1249,11 @@ void LLWearableHoldingPattern::onWearableAssetFetch(LLViewerWearable *wearable)
else
{
LLViewerInventoryItem* wearable_item = gInventory.getItem(data.mItemID);
- if (wearable_item && wearable_item->getPermissions().allowModifyBy(gAgentID))
+ if (wearable_item && wearable_item->isFinished() && wearable_item->getPermissions().allowModifyBy(gAgentID))
{
// We can't edit and do some other interactions with same asset twice, copy it
+ // Note: can't update incomplete items. Usually attached from previous viewer build, but
+ // consider adding fetch and completion callback
LLViewerWearable* new_wearable = LLWearableList::instance().createCopy(wearable, wearable->getName());
data.mWearable = new_wearable;
data.mAssetID = new_wearable->getAssetID();