diff options
| author | Dmitry Zaporozhan <dzaporozhan@productengine.com> | 2009-11-23 15:53:19 +0200 |
|---|---|---|
| committer | Dmitry Zaporozhan <dzaporozhan@productengine.com> | 2009-11-23 15:53:19 +0200 |
| commit | 25085a67f4baf341f1ebc26d7ba21e294ec56302 (patch) | |
| tree | 296235a869f73af24b274dd42cc07fcf31d1ce19 /indra/llui/llfloater.cpp | |
| parent | 9f0dbcf4c0c6c8621c377fd7f9e417aa76acd836 (diff) | |
| parent | d2cee29e8a039e3cac5c851b4e770b9c7e1095f0 (diff) | |
Merge
--HG--
branch : product-engine
Diffstat (limited to 'indra/llui/llfloater.cpp')
| -rw-r--r-- | indra/llui/llfloater.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp index 2a0dcaf333..bf965e8e28 100644 --- a/indra/llui/llfloater.cpp +++ b/indra/llui/llfloater.cpp @@ -2526,8 +2526,12 @@ void LLFloaterView::pushVisibleAll(BOOL visible, const skip_list_t& skip_list) void LLFloaterView::popVisibleAll(const skip_list_t& skip_list) { - for (child_list_const_iter_t child_iter = getChildList()->begin(); - child_iter != getChildList()->end(); ++child_iter) + // make a copy of the list since some floaters change their + // order in the childList when changing visibility. + child_list_t child_list_copy = *getChildList(); + + for (child_list_const_iter_t child_iter = child_list_copy.begin(); + child_iter != child_list_copy.end(); ++child_iter) { LLView *view = *child_iter; if (skip_list.find(view) == skip_list.end()) |
