summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTofu Linden <tofu.linden@lindenlab.com>2010-01-27 13:08:15 -0800
committerTofu Linden <tofu.linden@lindenlab.com>2010-01-27 13:08:15 -0800
commit668e72e2901ebf377661572fd30954d41e0e7c15 (patch)
treedaa70dac5e825c4b773df99be91a1d6ce7344ec3
parent706fd4d0735e446ea6c9eab7387990375af53c48 (diff)
CID-103
Checker: INVALIDATE_ITERATOR Function: LLMenuGL::scrollItemsDown() File: /indra/llui/llmenugl.cpp
-rw-r--r--indra/llui/llmenugl.cpp21
1 files changed, 12 insertions, 9 deletions
diff --git a/indra/llui/llmenugl.cpp b/indra/llui/llmenugl.cpp
index 171269e30d..ead28426cd 100644
--- a/indra/llui/llmenugl.cpp
+++ b/indra/llui/llmenugl.cpp
@@ -1875,18 +1875,21 @@ void LLMenuGL::scrollItemsDown()
item_list_t::iterator next_item_iter;
- for (next_item_iter = ++cur_item_iter; next_item_iter != mItems.end(); next_item_iter++)
+ if (cur_item_iterator != mItems.end())
{
- if( (*next_item_iter)->getVisible())
+ for (next_item_iter = ++cur_item_iter; next_item_iter != mItems.end(); next_item_iter++)
{
- break;
+ if( (*next_item_iter)->getVisible())
+ {
+ break;
+ }
+ }
+
+ if (next_item_iter != mItems.end() &&
+ (*next_item_iter)->getVisible())
+ {
+ mFirstVisibleItem = *next_item_iter;
}
- }
-
- if (next_item_iter != mItems.end() &&
- (*next_item_iter)->getVisible())
- {
- mFirstVisibleItem = *next_item_iter;
}
mNeedsArrange = TRUE;