Canonicalize detach crash fix to RLVa
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user