diff options
author | Richard Linden <none@none> | 2010-03-03 20:58:00 -0800 |
---|---|---|
committer | Richard Linden <none@none> | 2010-03-03 20:58:00 -0800 |
commit | 902548c55cce856633a74fe98f515ad4b1804c05 (patch) | |
tree | 99569d1b5ee116da0227daddd3f320516d903bd6 /indra/newview/llpopupview.cpp | |
parent | 0bbcb0d22d2a215e0d8bf824b44a18a8bd948f20 (diff) |
nested popups close properly
Diffstat (limited to 'indra/newview/llpopupview.cpp')
-rw-r--r-- | indra/newview/llpopupview.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/indra/newview/llpopupview.cpp b/indra/newview/llpopupview.cpp index 3494522969..d9e4ebcd3c 100644 --- a/indra/newview/llpopupview.cpp +++ b/indra/newview/llpopupview.cpp @@ -117,8 +117,16 @@ BOOL LLPopupView::handleMouseEvent(boost::function<BOOL(LLView*, S32, S32)> func } } - popup->onTopLost(); - mPopups.erase(popup_it++); + if (close_popups) + { + popup_list_t::iterator cur_popup_it = popup_it++; + mPopups.erase(cur_popup_it); + popup->onTopLost(); + } + else + { + ++popup_it; + } } return FALSE; |