summaryrefslogtreecommitdiff
path: root/indra/newview/llhudtext.cpp
diff options
context:
space:
mode:
authorrichard <none@none>2010-01-06 11:17:38 -0800
committerrichard <none@none>2010-01-06 11:17:38 -0800
commit1bbd259f2d009a807a09aea15d01d0872f8b1cad (patch)
treefe9e232d1f02e3f9288a22f3b477f74c8fbc0652 /indra/newview/llhudtext.cpp
parent7ec938e08da03d7029abc96c5cc0f5a7b8d683ca (diff)
EXT-3878 - Menus disappear when UI Size is < 1.00
EXT-3647 - Auto-scrolling of IMs should resume when user types in chat EXT-3877 - Pinning two levels of menus prevents movement using arrow keys EXT-1303 - Hyperlink text wraps in the middle of a word reviewed by James
Diffstat (limited to 'indra/newview/llhudtext.cpp')
-rw-r--r--indra/newview/llhudtext.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/indra/newview/llhudtext.cpp b/indra/newview/llhudtext.cpp
index 0b5da40be4..b95e5f53e8 100644
--- a/indra/newview/llhudtext.cpp
+++ b/indra/newview/llhudtext.cpp
@@ -607,6 +607,11 @@ void LLHUDText::addLine(const LLWString &wstr, const LLColor4& color, const LLFo
do
{
S32 segment_length = mFontp->maxDrawableChars(iter->substr(line_length).c_str(), mUseBubble ? HUD_TEXT_MAX_WIDTH : HUD_TEXT_MAX_WIDTH_NO_BUBBLE, wline.length(), TRUE);
+ if (segment_length == 0)
+ {
+ // try again without wrapping on word boundaries
+ segment_length = mFontp->maxDrawableChars(iter->substr(line_length).c_str(), mUseBubble ? HUD_TEXT_MAX_WIDTH : HUD_TEXT_MAX_WIDTH_NO_BUBBLE, wline.length(), FALSE);
+ }
mTextSegments.push_back(LLHUDTextSegment(iter->substr(line_length, segment_length), style, color));
line_length += segment_length;
}
@@ -643,6 +648,11 @@ void LLHUDText::setLabel(const LLWString &wlabel)
do
{
S32 segment_length = mFontp->maxDrawableChars(iter->substr(line_length).c_str(), mUseBubble ? HUD_TEXT_MAX_WIDTH : HUD_TEXT_MAX_WIDTH_NO_BUBBLE, wstr.length(), TRUE);
+ if (segment_length == 0)
+ {
+ // try again without wrapping on word boundaries
+ segment_length = mFontp->maxDrawableChars(iter->substr(line_length).c_str(), mUseBubble ? HUD_TEXT_MAX_WIDTH : HUD_TEXT_MAX_WIDTH_NO_BUBBLE, wstr.length(), FALSE);
+ }
mLabelSegments.push_back(LLHUDTextSegment(iter->substr(line_length, segment_length), LLFontGL::NORMAL, mColor));
line_length += segment_length;
}