From d68b8ce26936b239443b309b797d3d345a560d41 Mon Sep 17 00:00:00 2001 From: Alexei Arabadji Date: Wed, 7 Jul 2010 18:35:14 +0300 Subject: EXT-8154 FIXED Forced removing garbage items from COF. reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/687/ --HG-- branch : product-engine --- indra/newview/llappearancemgr.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index f8cff42412..2c097bdbb1 100644 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -2489,6 +2489,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) -- cgit v1.2.3