diff options
author | Leyla Farazha <leyla@lindenlab.com> | 2009-11-19 16:31:10 -0800 |
---|---|---|
committer | Leyla Farazha <leyla@lindenlab.com> | 2009-11-19 16:31:10 -0800 |
commit | 53f4bedaa57898c0b6b090ef29ad4f70a9c34ee4 (patch) | |
tree | 2ef5f1ea8ebfd90109a678619ee8bc7b849e4970 /indra/llui | |
parent | d577b2a77e897203a2ad3fcf7746abc95b2f9923 (diff) | |
parent | c994b57fa483d09367546d27434c25a316d86fe0 (diff) |
merge
Diffstat (limited to 'indra/llui')
-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()) |