diff options
author | Merov Linden <merov@lindenlab.com> | 2013-04-22 23:22:09 -0700 |
---|---|---|
committer | Merov Linden <merov@lindenlab.com> | 2013-04-22 23:22:09 -0700 |
commit | 244734647c38f256ace2d64fde4d3149d37e0e25 (patch) | |
tree | 546632cef0b87ec329966adfe03e568b49877a21 /indra/llui/llmenugl.cpp | |
parent | 022dd124604c8a0a3d83b481d03a687556fcf2c4 (diff) | |
parent | 6ad4822a05fa2d0cb0a9ab616384b374dc877883 (diff) |
Pull merge from lindenlab/viewer-chui
Diffstat (limited to 'indra/llui/llmenugl.cpp')
-rw-r--r-- | indra/llui/llmenugl.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/indra/llui/llmenugl.cpp b/indra/llui/llmenugl.cpp index f7bf39c897..f854e1785d 100644 --- a/indra/llui/llmenugl.cpp +++ b/indra/llui/llmenugl.cpp @@ -3146,6 +3146,13 @@ void LLMenuGL::showPopup(LLView* spawning_view, LLMenuGL* menu, S32 x, S32 y) const S32 CURSOR_HEIGHT = 22; // Approximate "normal" cursor size const S32 CURSOR_WIDTH = 12; + if (menu->getChildList()->empty()) + { + return; + } + + menu->setVisible( TRUE ); + //Do not show menu if all menu items are disabled BOOL item_enabled = false; for (LLView::child_list_t::const_iterator itor = menu->getChildList()->begin(); @@ -3156,8 +3163,9 @@ void LLMenuGL::showPopup(LLView* spawning_view, LLMenuGL* menu, S32 x, S32 y) item_enabled = item_enabled || menu_item->getEnabled(); } - if(menu->getChildList()->empty() || !item_enabled) + if(!item_enabled) { + menu->setVisible( FALSE ); return; } @@ -3173,8 +3181,6 @@ void LLMenuGL::showPopup(LLView* spawning_view, LLMenuGL* menu, S32 x, S32 y) menu->mFirstVisibleItem = NULL; } - menu->setVisible( TRUE ); - // Fix menu rect if needed. menu->needsArrange(); menu->arrangeAndClear(); |