summaryrefslogtreecommitdiff
path: root/indra/newview/llpopupview.cpp
diff options
context:
space:
mode:
authorRichard Linden <none@none>2010-03-03 20:58:00 -0800
committerRichard Linden <none@none>2010-03-03 20:58:00 -0800
commit902548c55cce856633a74fe98f515ad4b1804c05 (patch)
tree99569d1b5ee116da0227daddd3f320516d903bd6 /indra/newview/llpopupview.cpp
parent0bbcb0d22d2a215e0d8bf824b44a18a8bd948f20 (diff)
nested popups close properly
Diffstat (limited to 'indra/newview/llpopupview.cpp')
-rw-r--r--indra/newview/llpopupview.cpp12
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;