diff options
author | Vadim Savchuk <vsavchuk@productengine.com> | 2010-06-08 17:01:29 +0300 |
---|---|---|
committer | Vadim Savchuk <vsavchuk@productengine.com> | 2010-06-08 17:01:29 +0300 |
commit | d17b616b1c94c136254de0bee039cdc87979b44e (patch) | |
tree | 9aeea8caadb2d7424e13ad42e838ddacac9d0dd0 /indra/newview/llpaneloutfitedit.cpp | |
parent | a53aa1fc31478bd8136137fcb8cc2c591690f1aa (diff) |
EXT-7627 FIXED Wearing an item now doesn't open the wearable editing panel.
Fix:
- Save the UUID of a newly created wearable to start editing it right after it gets worn.
This approach replaces a temporary hack that invoked the editing panel whenever an item gets worn
(if the Appearance SP is opened at the time).
The hack only happened to work sometimes because the editing panel failed to open.
Other changes:
- Removed a check for inventory item completeness from LLAgentWearables::editWearable().
because the check often fails and doesn't appear to be needed at all.
- Added warning messages to LLAgentWearables::editWearable() so that it's easier to debug.
- Replaced duplicated code in LLPanelOutfitEdit::onEditWearableClicked() with a call to gAgentWearables.editWearable().
Reviewed by Nyx at https://codereview.productengine.com/secondlife/r/529/
--HG--
branch : product-engine
Diffstat (limited to 'indra/newview/llpaneloutfitedit.cpp')
-rw-r--r-- | indra/newview/llpaneloutfitedit.cpp | 31 |
1 files changed, 3 insertions, 28 deletions
diff --git a/indra/newview/llpaneloutfitedit.cpp b/indra/newview/llpaneloutfitedit.cpp index f3f67f2b03..e07d5c064b 100644 --- a/indra/newview/llpaneloutfitedit.cpp +++ b/indra/newview/llpaneloutfitedit.cpp @@ -495,35 +495,10 @@ void LLPanelOutfitEdit::onRemoveFromOutfitClicked(void) void LLPanelOutfitEdit::onEditWearableClicked(void) { - LLUUID id_to_edit = mCOFWearables->getSelectedUUID(); - LLViewerInventoryItem * item_to_edit = gInventory.getItem(id_to_edit); - - if (item_to_edit) + LLUUID selected_item_id = mCOFWearables->getSelectedUUID(); + if (selected_item_id.notNull()) { - // returns null if not a wearable (attachment, etc). - LLWearable* wearable_to_edit = gAgentWearables.getWearableFromAssetID(item_to_edit->getAssetUUID()); - if(wearable_to_edit) - { - bool can_modify = false; - bool is_complete = item_to_edit->isFinished(); - // if item_to_edit is a link, its properties are not appropriate, - // lets get original item with actual properties - LLViewerInventoryItem* original_item = gInventory.getItem(wearable_to_edit->getItemID()); - if(original_item) - { - can_modify = original_item->getPermissions().allowModifyBy(gAgentID); - is_complete = original_item->isFinished(); - } - - if (can_modify && is_complete) - { - LLSidepanelAppearance::editWearable(wearable_to_edit, getParent()); - if (mEditWearableBtn->getVisible()) - { - mEditWearableBtn->setVisible(FALSE); - } - } - } + gAgentWearables.editWearable(selected_item_id); } } |