diff options
author | Richard Nelson <none@none> | 2010-03-04 16:35:52 -0800 |
---|---|---|
committer | Richard Nelson <none@none> | 2010-03-04 16:35:52 -0800 |
commit | 485711e179e0ccf6351feb02318f41bbb5593662 (patch) | |
tree | 921ab16f22dfbd6e9f69166db9f22b40ada27b0f /indra/newview/llpopupview.cpp | |
parent | 5208aa56bd28490084166d0f755ce8d2f0dcd5a2 (diff) |
removed extraneous updateBoundingRect() calls
remove the login progress panel as a popup only after it has finished fading out
popupview manages it's own registering and unregistering of popup callbacks
Diffstat (limited to 'indra/newview/llpopupview.cpp')
-rw-r--r-- | indra/newview/llpopupview.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/indra/newview/llpopupview.cpp b/indra/newview/llpopupview.cpp index d9e4ebcd3c..590a45c96c 100644 --- a/indra/newview/llpopupview.cpp +++ b/indra/newview/llpopupview.cpp @@ -48,6 +48,14 @@ bool view_visible(LLView* viewp) LLPopupView::LLPopupView() { + // register ourself as handler of UI popups + LLUI::setPopupFuncs(boost::bind(&LLPopupView::addPopup, this, _1), boost::bind(&LLPopupView::removePopup, this, _1), boost::bind(&LLPopupView::clearPopups, this)); +} + +LLPopupView::~LLPopupView() +{ + // set empty callback function so we can't handle popups anymore + LLUI::setPopupFuncs(LLUI::add_popup_t(), LLUI::remove_popup_t(), LLUI::clear_popups_t()); } void LLPopupView::draw() @@ -212,8 +220,8 @@ void LLPopupView::removePopup(LLView* popup) { gFocusMgr.setKeyboardFocus(NULL); } - popup->onTopLost(); mPopups.erase(std::find(mPopups.begin(), mPopups.end(), popup->getHandle())); + popup->onTopLost(); } } |