FakeVim: Fix checking if text was re-inserted

Change-Id: I213ad5c9d6f8d313f07daaceb253a7d03b9035a3
Reviewed-by: hjk <hjk121@nokiamail.com>
This commit is contained in:
hluk
2013-08-05 20:47:11 +02:00
committed by hjk
parent d935b4cfc6
commit 2890242df5

View File

@@ -7203,10 +7203,10 @@ void FakeVimHandler::Private::onContentsChanged(int position, int charsRemoved,
if (position < m_insertState.pos1) {
// backspaces
const int bs = m_insertState.pos1 - position;
const QString inserted = textAt(position, position + charsAdded);
const QString inserted = textAt(position, m_oldPosition);
const QString removed = m_insertState.textBeforeCursor.right(bs);
// Ignore backspaces if same text was just inserted.
if ( !inserted.startsWith(removed) ) {
if ( !inserted.endsWith(removed) ) {
m_insertState.backspaces += bs;
m_insertState.pos1 = position;
m_insertState.pos2 = qMax(position, m_insertState.pos2 - bs);