summaryrefslogtreecommitdiff
path: root/indra/llui/lltextbase.cpp
diff options
context:
space:
mode:
authorVadim Savchuk <vsavchuk@productengine.com>2010-01-11 12:57:42 +0200
committerVadim Savchuk <vsavchuk@productengine.com>2010-01-11 12:57:42 +0200
commit9393c28831c3b51d9b84950bb0bc89ca50edac23 (patch)
tree46f3aeb3d340d115c6ccd4a53993350b47691f96 /indra/llui/lltextbase.cpp
parent1a21ce62c225dfc8f2671691929a3b1a9bc73726 (diff)
parentdf08485cf840e21e2ec8d14664a45714e0a3ca96 (diff)
Merge from default branch.
--HG-- branch : product-engine
Diffstat (limited to 'indra/llui/lltextbase.cpp')
-rw-r--r--indra/llui/lltextbase.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/indra/llui/lltextbase.cpp b/indra/llui/lltextbase.cpp
index 7447a984ac..5ebf49c488 100644
--- a/indra/llui/lltextbase.cpp
+++ b/indra/llui/lltextbase.cpp
@@ -2509,10 +2509,15 @@ S32 LLNormalTextSegment::getNumChars(S32 num_pixels, S32 segment_offset, S32 lin
// set max characters to length of segment, or to first newline
max_chars = llmin(max_chars, last_char - (mStart + segment_offset));
+ // if no character yet displayed on this line, don't require word wrapping since
+ // we can just move to the next line, otherwise insist on it so we make forward progress
+ LLFontGL::EWordWrapStyle word_wrap_style = (line_offset == 0)
+ ? LLFontGL::WORD_BOUNDARY_IF_POSSIBLE
+ : LLFontGL::ONLY_WORD_BOUNDARIES;
S32 num_chars = mStyle->getFont()->maxDrawableChars(text.c_str() + segment_offset + mStart,
(F32)num_pixels,
max_chars,
- TRUE);
+ word_wrap_style);
if (num_chars == 0
&& line_offset == 0