summaryrefslogtreecommitdiff
path: root/indra/newview/llappearancemgr.cpp
diff options
context:
space:
mode:
authorBrad Payne (Vir Linden) <vir@lindenlab.com>2010-07-08 10:57:15 -0400
committerBrad Payne (Vir Linden) <vir@lindenlab.com>2010-07-08 10:57:15 -0400
commitc80da2248d17bf9355fccd203b51548f983bd8ab (patch)
tree17a2977b1c68013b0855f098aa4cdbd72950eb57 /indra/newview/llappearancemgr.cpp
parent7380d8f1cb9a40d1ca50d2c7675e08d270928947 (diff)
parentca5e05a5c763b8eba3c6441f0f931af27cc89542 (diff)
merge
Diffstat (limited to 'indra/newview/llappearancemgr.cpp')
-rw-r--r--indra/newview/llappearancemgr.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp
index 60f1387622..862c68ecda 100644
--- a/indra/newview/llappearancemgr.cpp
+++ b/indra/newview/llappearancemgr.cpp
@@ -2495,6 +2495,19 @@ void LLAppearanceMgr::removeItemFromAvatar(const LLUUID& id_to_remove)
}
default: break;
}
+
+ // *HACK: Force to remove garbage from COF.
+ // Unworn links or objects can't be processed by existed removing functionality
+ // since it is not designed for such cases. As example attachment object can't be removed
+ // since sever don't sends message _PREHASH_KillObject in that case.
+ // Also we can't check is link was successfully removed from COF since in case
+ // deleting attachment link removing performs asynchronously in process_kill_object callback.
+ LLViewerInventoryItem* item = gInventory.getItem(id_to_remove);
+ if (item != NULL)
+ {
+ gInventory.purgeObject(id_to_remove);
+ gInventory.notifyObservers();
+ }
}
bool LLAppearanceMgr::moveWearable(LLViewerInventoryItem* item, bool closer_to_body)