diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index a20b24d2b..66d8b81ba 100644 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -3921,14 +3921,13 @@ void LLAppearanceMgr::removeItemsFromAvatar(const uuid_vec_t& ids_to_remove) bool fUpdateAppearance = false; 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 ( linked_item && (rlv_handler_t::isEnabled()) && (!rlvPredCanRemoveItem(linked_item)) ) + const LLUUID& linked_item_id = gInventory.getLinkedItemID(*it); + if ( (rlv_handler_t::isEnabled()) && (!rlvPredCanRemoveItem(gInventory.getItem(linked_item_id))) ) { continue; } fUpdateAppearance = true; - const LLUUID& linked_item_id = gInventory.getLinkedItemID(*it); removeCOFItemLinks(linked_item_id); } @@ -3949,13 +3948,12 @@ void LLAppearanceMgr::removeItemsFromAvatar(const uuid_vec_t& ids_to_remove) 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 ( linked_item && (rlv_handler_t::isEnabled()) && (!rlvPredCanRemoveItem(linked_item)) ) + LLUUID linked_item_id = gInventory.getLinkedItemID(id_to_remove); + if ( (rlv_handler_t::isEnabled()) && (!rlvPredCanRemoveItem(gInventory.getItem(linked_item_id))) ) { return; } // [/RLVA:KB] - LLUUID linked_item_id = gInventory.getLinkedItemID(id_to_remove); removeCOFItemLinks(linked_item_id); updateAppearanceFromCOF(); } diff --git a/indra/newview/rlvcommon.cpp b/indra/newview/rlvcommon.cpp index e2f3403f9..a4c8ad281 100644 --- a/indra/newview/rlvcommon.cpp +++ b/indra/newview/rlvcommon.cpp @@ -153,10 +153,13 @@ void RlvSettings::initClass() } #endif // RLV_EXTENSION_STARTLOCATION -// Checked: 2010-10-11 (RLVa-1.2.0e) | Added: RLVa-1.2.0e +// Checked: 2013-04-17 (RLVa-1.4.8) bool RlvSettings::onChangedAvatarOffset(const LLSD& sdValue) { - gAgent.sendAgentSetAppearance(); + if ( (isAgentAvatarValid()) && (!gAgentAvatarp->isUsingServerBakes()) ) + { + gAgentAvatarp->computeBodySize(); + } return true; } // Checked: 2011-08-16 (RLVa-1.4.0b) | Added: RLVa-1.4.0b @@ -704,7 +707,9 @@ bool rlvPredCanRemoveItem(const LLInventoryItem* pItem) RLV_ASSERT(false); } } - return false; + // HACK-RLVa: Until LL supports temporary attachment detection assume that no inventory item means a temporary + // attachment which are always removeable + return true; } // Checked: 2010-03-22 (RLVa-1.2.0c) | Added: RLVa-1.2.0a