Previous revision break all sorts of stuff. Fixed. hopefully

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23837 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Stefano Ceccherini 2008-02-03 16:02:13 +00:00
parent a32a4683ff
commit 13bba42efc
1 changed files with 8 additions and 6 deletions

View File

@ -3056,7 +3056,7 @@ BTextView::_HandleAlphaKey(const char *bytes, int32 numBytes)
} else
_DoInsertText(bytes, numBytes, fSelStart, NULL, NULL);
fSelStart = fSelEnd = fClickOffset = fSelStart + numBytes;
fClickOffset = fSelEnd;
ScrollToOffset(fClickOffset);
}
@ -3481,12 +3481,9 @@ BTextView::_DoInsertText(const char *inText, int32 inLength, int32 inOffset,
if (TextLength() + inLength > MaxBytes())
return;
if (fSelStart != fSelEnd
&& fSelStart != 0
&& fSelEnd != 0) {
if (fSelStart != fSelEnd)
Select(fSelStart, fSelStart);
}
// Don't do any check, the public methods will have adjusted
// eventual bogus values...
@ -3496,6 +3493,11 @@ BTextView::_DoInsertText(const char *inText, int32 inLength, int32 inOffset,
// copy data into buffer
InsertText(inText, inLength, inOffset, inRuns);
// offset the caret/selection
//int32 saveStart = fSelStart;
fSelStart += inLength;
fSelEnd += inLength;
// recalc line breaks and draw the text
_Refresh(inOffset, textLength, true, false);