diff options
author | richard <none@none> | 2009-11-11 12:01:57 -0800 |
---|---|---|
committer | richard <none@none> | 2009-11-11 12:01:57 -0800 |
commit | fedf86c216a36e46fcdec571399d44e6f5cbc836 (patch) | |
tree | 83c3767753fbf6dc8699d7c6cdbd4faff56f38c6 /indra/llui/lltextbase.cpp | |
parent | 854e2eaf9a2ab150a820b28944363b6212ec7aae (diff) |
fix wrapping of text segment containing multiple newlines and ending on a newline
reviewed by leyla
Diffstat (limited to 'indra/llui/lltextbase.cpp')
-rw-r--r-- | indra/llui/lltextbase.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/indra/llui/lltextbase.cpp b/indra/llui/lltextbase.cpp index 97ba691341..1a903d31f1 100644 --- a/indra/llui/lltextbase.cpp +++ b/indra/llui/lltextbase.cpp @@ -2370,7 +2370,9 @@ bool LLNormalTextSegment::getDimensions(S32 first_char, S32 num_chars, S32& widt height = mFontHeight; width = mStyle->getFont()->getWidth(text.c_str(), mStart + first_char, num_chars); - return num_chars >= 1 && text[mStart + num_chars - 1] == '\n'; + // if last character is a newline, then return true, forcing line break + llwchar last_char = text[mStart + first_char + num_chars - 1]; + return num_chars >= 1 && last_char == '\n'; } S32 LLNormalTextSegment::getOffset(S32 segment_local_x_coord, S32 start_offset, S32 num_chars, bool round) const |