diff options
| author | James Cook <james@lindenlab.com> | 2009-11-18 14:27:58 -0800 | 
|---|---|---|
| committer | James Cook <james@lindenlab.com> | 2009-11-18 14:27:58 -0800 | 
| commit | a46794bcff15b70ab4e5e04ce12d118579b72245 (patch) | |
| tree | aa369e73a15ab2303a311f5cbe5ba5dbcfce6361 | |
| parent | 1875d5e37ba1591ba9b75014a7618f38427f0d2f (diff) | |
EXT-2579 Fix memory leak/bloat due to /me IRC-style emotes.
Pending review with Richard/Leyla
| -rw-r--r-- | indra/newview/llchatitemscontainerctrl.cpp | 10 | 
1 files changed, 10 insertions, 0 deletions
| diff --git a/indra/newview/llchatitemscontainerctrl.cpp b/indra/newview/llchatitemscontainerctrl.cpp index 997aed4277..56b7520bd5 100644 --- a/indra/newview/llchatitemscontainerctrl.cpp +++ b/indra/newview/llchatitemscontainerctrl.cpp @@ -188,7 +188,17 @@ void LLNearbyChatToastPanel::init(LLSD& notification)  		}  		mText = mText.substr(3);  		style_params.font.style = "UNDERLINE"; +#define INFINITE_REFLOW_BUG 0 +#if INFINITE_REFLOW_BUG +		// This causes LLTextBase::reflow() to infinite loop until the viewer +		// runs out of memory, throws a bad_alloc exception from std::vector +		// in mLineInfoList, and the main loop catches it and continues. +		// It appears to be caused by addText() adding a line separator in the +		// middle of a line.  See EXT-2579, EXT-1949  		msg_text->addText(mText,style_params); +#else +		msg_text->appendText(mText, FALSE, style_params); +#endif  	}  	else   	{ | 
