summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/newview/llpopupview.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/indra/newview/llpopupview.cpp b/indra/newview/llpopupview.cpp
index 49645eec11..aadef9a308 100644
--- a/indra/newview/llpopupview.cpp
+++ b/indra/newview/llpopupview.cpp
@@ -256,16 +256,16 @@ void LLPopupView::removePopup(LLView* popup)
void LLPopupView::clearPopups()
{
- for (popup_list_t::iterator popup_it = mPopups.begin();
- popup_it != mPopups.end();)
+ while (!mPopups.empty())
{
- LLView* popup = popup_it->get();
+ popup_list_t::iterator popup_it = mPopups.begin();
+ LLView* popup = popup_it->get();
+ // Remove before notifying in case it will cause removePopup
+ mPopups.erase(popup_it);
if (popup)
{
popup->onTopLost();
}
-
- popup_it = mPopups.erase(popup_it);
}
}