diff options
author | Oz Linden <oz@lindenlab.com> | 2010-12-27 14:29:11 -0500 |
---|---|---|
committer | Oz Linden <oz@lindenlab.com> | 2010-12-27 14:29:11 -0500 |
commit | 433ad05ae9580027641c8bd5e1fe175f96669a66 (patch) | |
tree | 02d565092ac4acff9feca2840774f01790fd135e /indra/newview/llwearableitemslist.cpp | |
parent | a9caa3151cea77b992c06c5a774d333ffd3016e1 (diff) | |
parent | 9ea172a8e21913b115e676a022e80e784dfd5142 (diff) |
merge up to latest viewer-development
Diffstat (limited to 'indra/newview/llwearableitemslist.cpp')
-rw-r--r-- | indra/newview/llwearableitemslist.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/indra/newview/llwearableitemslist.cpp b/indra/newview/llwearableitemslist.cpp index a49dc1b59d..4373eec02a 100644 --- a/indra/newview/llwearableitemslist.cpp +++ b/indra/newview/llwearableitemslist.cpp @@ -443,6 +443,7 @@ clothing_to_string_map_t init_clothing_string_map() w_map.insert(std::make_pair(LLWearableType::WT_SKIRT, "skirt_not_worn")); w_map.insert(std::make_pair(LLWearableType::WT_ALPHA, "alpha_not_worn")); w_map.insert(std::make_pair(LLWearableType::WT_TATTOO, "tattoo_not_worn")); + w_map.insert(std::make_pair(LLWearableType::WT_PHYSICS, "physics_not_worn")); return w_map; } @@ -888,6 +889,7 @@ void LLWearableItemsList::ContextMenu::updateItemsVisibility(LLContextMenu* menu setMenuItemVisible(menu, "edit", !standalone && mask & (MASK_CLOTHING|MASK_BODYPART) && n_worn == n_items && n_worn == 1); setMenuItemEnabled(menu, "edit", n_editable == 1 && n_worn == 1 && n_items == 1); setMenuItemVisible(menu, "create_new", mask & (MASK_CLOTHING|MASK_BODYPART) && n_items == 1); + setMenuItemEnabled(menu, "create_new", canAddWearables(ids)); setMenuItemVisible(menu, "show_original", !standalone); setMenuItemEnabled(menu, "show_original", n_items == 1 && n_links == n_items); setMenuItemVisible(menu, "take_off", mask == MASK_CLOTHING && n_worn == n_items); @@ -1038,6 +1040,10 @@ bool LLWearableItemsList::ContextMenu::canAddWearables(const uuid_vec_t& item_id U32 n_clothes = m_it->second; U32 wearable_count = gAgentWearables.getWearableCount(w_type); + if ((wearable_count > 0) && !LLWearableType::getAllowMultiwear(w_type)) + { + return false; + } if ((wearable_count + n_clothes) > LLAgentWearables::MAX_CLOTHING_PER_TYPE) { return false; |