diff options
| -rw-r--r-- | indra/newview/lltoastnotifypanel.cpp | 14 | ||||
| -rw-r--r-- | indra/newview/lltoastnotifypanel.h | 1 | 
2 files changed, 13 insertions, 2 deletions
| diff --git a/indra/newview/lltoastnotifypanel.cpp b/indra/newview/lltoastnotifypanel.cpp index 9db4bc4d3f..fe8312784d 100644 --- a/indra/newview/lltoastnotifypanel.cpp +++ b/indra/newview/lltoastnotifypanel.cpp @@ -56,8 +56,9 @@ const std::string LLToastNotifyPanel::sFontScript("SansSerif");  LLToastNotifyPanel::button_click_signal_t LLToastNotifyPanel::sButtonClickSignal;  LLToastNotifyPanel::LLToastNotifyPanel(const LLNotificationPtr& notification, const LLRect& rect, bool show_images)  -:	LLCheckBoxToastPanel(notification), -	LLInstanceTracker<LLToastNotifyPanel, LLUUID, LLInstanceTrackerReplaceOnCollision>(notification->getID()) +:   LLCheckBoxToastPanel(notification) +,   LLInstanceTracker<LLToastNotifyPanel, LLUUID, LLInstanceTrackerReplaceOnCollision>(notification->getID()) +,   mTextBox(NULL)  {  	init(rect, show_images);  } @@ -432,6 +433,15 @@ void LLToastNotifyPanel::init( LLRect rect, bool show_images )  	}  } +void LLToastNotifyPanel::deleteAllChildren() +{ +    // some visibility changes, re-init and reshape will attempt to +    // use mTextBox. Null it beforehand to avoid crashes. +    mTextBox = NULL; + +    LLCheckBoxToastPanel::deleteAllChildren(); +} +  bool LLToastNotifyPanel::isControlPanelEnabled() const  {  	bool cp_enabled = mControlPanel->getEnabled(); diff --git a/indra/newview/lltoastnotifypanel.h b/indra/newview/lltoastnotifypanel.h index 4a6c2ada8a..8cfd0eb447 100644 --- a/indra/newview/lltoastnotifypanel.h +++ b/indra/newview/lltoastnotifypanel.h @@ -63,6 +63,7 @@ public:  	LLToastNotifyPanel(const LLNotificationPtr& pNotification, const LLRect& rect = LLRect::null, bool show_images = true);  	virtual void init( LLRect rect, bool show_images ); +    virtual void deleteAllChildren();  	virtual ~LLToastNotifyPanel();  	LLPanel * getControlPanel() { return mControlPanel; } | 
