forked from qt-creator/qt-creator
FakeVim: Fix checking if text was re-inserted
Change-Id: I213ad5c9d6f8d313f07daaceb253a7d03b9035a3 Reviewed-by: hjk <hjk121@nokiamail.com>
This commit is contained in:
@@ -7203,10 +7203,10 @@ void FakeVimHandler::Private::onContentsChanged(int position, int charsRemoved,
|
|||||||
if (position < m_insertState.pos1) {
|
if (position < m_insertState.pos1) {
|
||||||
// backspaces
|
// backspaces
|
||||||
const int bs = m_insertState.pos1 - position;
|
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);
|
const QString removed = m_insertState.textBeforeCursor.right(bs);
|
||||||
// Ignore backspaces if same text was just inserted.
|
// Ignore backspaces if same text was just inserted.
|
||||||
if ( !inserted.startsWith(removed) ) {
|
if ( !inserted.endsWith(removed) ) {
|
||||||
m_insertState.backspaces += bs;
|
m_insertState.backspaces += bs;
|
||||||
m_insertState.pos1 = position;
|
m_insertState.pos1 = position;
|
||||||
m_insertState.pos2 = qMax(position, m_insertState.pos2 - bs);
|
m_insertState.pos2 = qMax(position, m_insertState.pos2 - bs);
|
||||||
|
Reference in New Issue
Block a user