diff options
author | Vadim Savchuk <vsavchuk@productengine.com> | 2010-07-27 22:34:34 +0300 |
---|---|---|
committer | Vadim Savchuk <vsavchuk@productengine.com> | 2010-07-27 22:34:34 +0300 |
commit | 75980159451eb4f80c1ac03ec4b9d8d488279840 (patch) | |
tree | 610275b8d401180ce0d59841b6224b2101b95531 /indra/newview/llappearancemgr.cpp | |
parent | 7bec8b2a9ee1182f9eec14305b7099bee44b7a10 (diff) |
EXT-8491 FIXED Crash in LLAppearanceMgr::addCOFItemLink().
Reason:
When you click on a clothing link in COF, LLAppearanceMgr::wearItemOnAvatar() removes
all COF links of the clicked wearable type -- thus invalidating all previously
obtained LLViewerInventoryItems for those links -- and then passes such an
invalid item (item_to_wear) to addCOFItemLink() which of course crashes.
Fix:
1. Handle this case in wearItemOnAvatar(): don't try wearing COF items.
2. Disable the Wear button in the inventory SP when a COF item is selected.
3. Fixed get_can_item_be_worn() to return FALSE for items which are in COF or have links in COF.
Reviewed by Nyx at https://codereview.productengine.com/secondlife/r/811/
--HG--
branch : product-engine
Diffstat (limited to 'indra/newview/llappearancemgr.cpp')
-rw-r--r-- | indra/newview/llappearancemgr.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index b64007aa75..78edcb3e25 100644 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -983,6 +983,10 @@ bool LLAppearanceMgr::wearItemOnAvatar(const LLUUID& item_id_to_wear, bool do_up LLNotificationsUtil::add("CannotWearTrash"); return false; } + else if (gInventory.isObjectDescendentOf(item_to_wear->getUUID(), LLAppearanceMgr::instance().getCOF())) // EXT-84911 + { + return false; + } switch (item_to_wear->getType()) { |