summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorLoren Shih <seraph@lindenlab.com>2010-06-24 19:03:20 -0400
committerLoren Shih <seraph@lindenlab.com>2010-06-24 19:03:20 -0400
commit9f835b9bce6ac023a9f8b98cfb53015f5d416130 (patch)
tree28571073482e365e3a9dd618f5e84346db948b77 /indra/newview
parent1a2a25cb857044d3fa6e80d3edaf5c7a15e167a3 (diff)
EXT-7902 FIXED Corrupted context menu appears on "Add More" panel if both worn and not-worn items were selected
Added "no options" menu item instead of showing blank context menu.
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/llwearableitemslist.cpp16
-rw-r--r--indra/newview/skins/default/xui/en/menu_wearable_list_item.xml6
2 files changed, 22 insertions, 0 deletions
diff --git a/indra/newview/llwearableitemslist.cpp b/indra/newview/llwearableitemslist.cpp
index da15b93697..b2aac75916 100644
--- a/indra/newview/llwearableitemslist.cpp
+++ b/indra/newview/llwearableitemslist.cpp
@@ -673,6 +673,8 @@ void LLWearableItemsList::ContextMenu::updateItemsVisibility(LLContextMenu* menu
setMenuItemEnabled(menu, "take_off_or_detach", n_worn == n_items);
setMenuItemVisible(menu, "object_profile", !standalone);
setMenuItemEnabled(menu, "object_profile", n_items == 1);
+ setMenuItemVisible(menu, "--no options--", FALSE);
+ setMenuItemEnabled(menu, "--no options--", FALSE);
// Populate or hide the "Attach to..." / "Attach to HUD..." submenus.
if (mask == MASK_ATTACHMENT && n_worn == 0)
@@ -689,6 +691,20 @@ void LLWearableItemsList::ContextMenu::updateItemsVisibility(LLContextMenu* menu
{
llwarns << "Non-wearable items passed." << llendl;
}
+
+ U32 num_visible_items = 0;
+ for (U32 menu_item_index = 0; menu_item_index < menu->getItemCount(); ++menu_item_index)
+ {
+ const LLMenuItemGL* menu_item = menu->getItem(menu_item_index);
+ if (menu_item && menu_item->getVisible())
+ {
+ num_visible_items++;
+ }
+ }
+ if (num_visible_items == 0)
+ {
+ setMenuItemVisible(menu, "--no options--", TRUE);
+ }
}
void LLWearableItemsList::ContextMenu::updateItemsLabels(LLContextMenu* menu)
diff --git a/indra/newview/skins/default/xui/en/menu_wearable_list_item.xml b/indra/newview/skins/default/xui/en/menu_wearable_list_item.xml
index efea2ae3e8..23eb89e448 100644
--- a/indra/newview/skins/default/xui/en/menu_wearable_list_item.xml
+++ b/indra/newview/skins/default/xui/en/menu_wearable_list_item.xml
@@ -73,4 +73,10 @@
<on_click
function="Wearable.CreateNew" />
</menu_item_call>
+ <menu_item_call
+ label="--no options--"
+ layout="topleft"
+ name="--no options--"
+ translate="false">
+ </menu_item_call>
</context_menu>