This should fix bridge detach and crash, thx Ansariel

This commit is contained in:
Siana Gearz
2013-05-26 05:45:00 +02:00
parent bc145c95fb
commit d4251e3f69

View File

@@ -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) for (uuid_vec_t::const_iterator it = ids_to_remove.begin(); it != ids_to_remove.end(); ++it)
{ {
const LLInventoryItem* linked_item = gInventory.getLinkedItem(*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; continue;
} }
fUpdateAppearance = true; fUpdateAppearance = true;
removeCOFItemLinks(linked_item->getUUID()); const LLUUID& linked_item_id = gInventory.getLinkedItemID(*it);
removeCOFItemLinks(linked_item_id);
} }
if (fUpdateAppearance) if (fUpdateAppearance)
@@ -3949,17 +3950,14 @@ void LLAppearanceMgr::removeItemFromAvatar(const LLUUID& id_to_remove)
{ {
// [RLVa:KB] - Checked: 2013-02-12 (RLVa-1.4.8) // [RLVa:KB] - Checked: 2013-02-12 (RLVa-1.4.8)
const LLInventoryItem* linked_item = gInventory.getLinkedItem(id_to_remove); 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; return;
} }
removeCOFItemLinks(linked_item->getUUID());
updateAppearanceFromCOF();
// [/RLVA:KB] // [/RLVA:KB]
// LLUUID linked_item_id = gInventory.getLinkedItemID(id_to_remove); LLUUID linked_item_id = gInventory.getLinkedItemID(id_to_remove);
// removeCOFItemLinks(linked_item_id); removeCOFItemLinks(linked_item_id);
// updateAppearanceFromCOF(); updateAppearanceFromCOF();
} }
bool LLAppearanceMgr::moveWearable(LLViewerInventoryItem* item, bool closer_to_body) bool LLAppearanceMgr::moveWearable(LLViewerInventoryItem* item, bool closer_to_body)