diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index 31088df5c..a20b24d2b 100644 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -3922,13 +3922,14 @@ void LLAppearanceMgr::removeItemsFromAvatar(const uuid_vec_t& ids_to_remove) for (uuid_vec_t::const_iterator it = ids_to_remove.begin(); it != ids_to_remove.end(); ++it) { const LLInventoryItem* linked_item = gInventory.getLinkedItem(*it); - if ( (rlv_handler_t::isEnabled()) && (!rlvPredCanRemoveItem(linked_item)) ) + if ( linked_item && (rlv_handler_t::isEnabled()) && (!rlvPredCanRemoveItem(linked_item)) ) { continue; } fUpdateAppearance = true; - removeCOFItemLinks(linked_item->getUUID()); + const LLUUID& linked_item_id = gInventory.getLinkedItemID(*it); + removeCOFItemLinks(linked_item_id); } if (fUpdateAppearance) @@ -3949,17 +3950,14 @@ void LLAppearanceMgr::removeItemFromAvatar(const LLUUID& id_to_remove) { // [RLVa:KB] - Checked: 2013-02-12 (RLVa-1.4.8) const LLInventoryItem* linked_item = gInventory.getLinkedItem(id_to_remove); - if ( (rlv_handler_t::isEnabled()) && (!rlvPredCanRemoveItem(linked_item)) ) + if ( linked_item && (rlv_handler_t::isEnabled()) && (!rlvPredCanRemoveItem(linked_item)) ) { return; } - - removeCOFItemLinks(linked_item->getUUID()); - updateAppearanceFromCOF(); // [/RLVA:KB] -// LLUUID linked_item_id = gInventory.getLinkedItemID(id_to_remove); -// removeCOFItemLinks(linked_item_id); -// updateAppearanceFromCOF(); + LLUUID linked_item_id = gInventory.getLinkedItemID(id_to_remove); + removeCOFItemLinks(linked_item_id); + updateAppearanceFromCOF(); } bool LLAppearanceMgr::moveWearable(LLViewerInventoryItem* item, bool closer_to_body)