diff options
author | Tofu Linden <tofu.linden@lindenlab.com> | 2010-01-27 13:08:15 -0800 |
---|---|---|
committer | Tofu Linden <tofu.linden@lindenlab.com> | 2010-01-27 13:08:15 -0800 |
commit | 668e72e2901ebf377661572fd30954d41e0e7c15 (patch) | |
tree | daa70dac5e825c4b773df99be91a1d6ce7344ec3 /indra | |
parent | 706fd4d0735e446ea6c9eab7387990375af53c48 (diff) |
CID-103
Checker: INVALIDATE_ITERATOR
Function: LLMenuGL::scrollItemsDown()
File: /indra/llui/llmenugl.cpp
Diffstat (limited to 'indra')
-rw-r--r-- | indra/llui/llmenugl.cpp | 21 |
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; |