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 /indra/newview/llchatitemscontainerctrl.cpp | |
parent | 1875d5e37ba1591ba9b75014a7618f38427f0d2f (diff) |
EXT-2579 Fix memory leak/bloat due to /me IRC-style emotes.
Pending review with Richard/Leyla
Diffstat (limited to 'indra/newview/llchatitemscontainerctrl.cpp')
-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 { |