diff options
author | andreykproductengine <akleshchev@productengine.com> | 2015-04-15 14:15:43 +0300 |
---|---|---|
committer | andreykproductengine <akleshchev@productengine.com> | 2015-04-15 14:15:43 +0300 |
commit | 749cf1b257267dee5ba7339d5269b1b103f28dc0 (patch) | |
tree | 6e349068919ecbf8e7ad35d94519aae5521f383e /indra/newview/llinspecttoast.cpp | |
parent | 99c5f36f204759af1a81268be0bc72dd69789de4 (diff) |
MAINT-5024 new crash in LLInspectToast
Diffstat (limited to 'indra/newview/llinspecttoast.cpp')
-rwxr-xr-x | indra/newview/llinspecttoast.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/indra/newview/llinspecttoast.cpp b/indra/newview/llinspecttoast.cpp index d04378daaf..47560341e7 100755 --- a/indra/newview/llinspecttoast.cpp +++ b/indra/newview/llinspecttoast.cpp @@ -47,6 +47,7 @@ public: /*virtual*/ void onOpen(const LLSD& notification_id); /*virtual*/ BOOL handleToolTip(S32 x, S32 y, MASK mask); + /*virtual*/ void removeChild(LLView* child); private: void onToastDestroy(LLToast * toast); @@ -98,7 +99,7 @@ void LLInspectToast::onOpen(const LLSD& notification_id) panel->setMouseOpaque(FALSE); if(mPanel != NULL && mPanel->getParent() == this) { - removeChild(mPanel); + LLInspect::removeChild(mPanel); } addChild(panel); panel->setFocus(TRUE); @@ -121,6 +122,16 @@ BOOL LLInspectToast::handleToolTip(S32 x, S32 y, MASK mask) return LLFloater::handleToolTip(x, y, mask); } +// virtual +void LLInspectToast::removeChild(LLView* child) +{ + if (mPanel == child) + { + mPanel = NULL; + } + LLInspect::removeChild(child); +} + void LLInspectToast::onToastDestroy(LLToast * toast) { closeFloater(false); |