diff options
author | prep@lindenlab.com <prep@lindenlab.com> | 2013-03-29 10:37:58 -0500 |
---|---|---|
committer | prep@lindenlab.com <prep@lindenlab.com> | 2013-03-29 10:37:58 -0500 |
commit | 0f24668b0a834e37a3a8767abc7b0ee51bf23fcd (patch) | |
tree | 4ae685f79c3964e1ac7246641fa9d957b25b5ee1 /indra/llui/lltexteditor.cpp | |
parent | 8e6d2f8ddc3fe8a1eee3abe99eb5abd3575c5841 (diff) | |
parent | a62a824efb89aff3056d0659ee2c23ad6d15eeaa (diff) |
Merged in Chui beta6+ fixes
Diffstat (limited to 'indra/llui/lltexteditor.cpp')
-rw-r--r-- | indra/llui/lltexteditor.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/indra/llui/lltexteditor.cpp b/indra/llui/lltexteditor.cpp index 3dc1b99edb..834f213097 100644 --- a/indra/llui/lltexteditor.cpp +++ b/indra/llui/lltexteditor.cpp @@ -956,12 +956,18 @@ S32 LLTextEditor::insert(S32 pos, const LLWString &wstr, bool group_with_next_op S32 LLTextEditor::remove(S32 pos, S32 length, bool group_with_next_op) { S32 end_pos = getEditableIndex(pos + length, true); + BOOL removedChar = FALSE; segment_vec_t segments_to_remove; // store text segments getSegmentsInRange(segments_to_remove, pos, pos + length, false); + + if(pos <= end_pos) + { + removedChar = execute( new TextCmdRemove( pos, group_with_next_op, end_pos - pos, segments_to_remove ) ); + } - return execute( new TextCmdRemove( pos, group_with_next_op, end_pos - pos, segments_to_remove ) ); + return removedChar; } S32 LLTextEditor::overwriteChar(S32 pos, llwchar wc) |