diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp index 9bde64cbc50403f6d5d3d5af91daae24ce7bd7be..323e03b02a339d3a6572ab1b98b8f9303c1c5887 100644 --- a/src/plugins/texteditor/basetexteditor.cpp +++ b/src/plugins/texteditor/basetexteditor.cpp @@ -1403,6 +1403,7 @@ void BaseTextEditor::maybeRequestAutoCompletion(const QChar &ch) { if (ch.isLetterOrNumber() || ch == QLatin1Char('_')) { d->m_requestAutoCompletionRevision = document()->revision(); + d->m_requestAutoCompletionPosition = position(); d->m_requestAutoCompletionTimer->start(); } else { d->m_requestAutoCompletionTimer->stop(); @@ -1414,7 +1415,8 @@ void BaseTextEditor::_q_requestAutoCompletion() { d->m_requestAutoCompletionTimer->stop(); - if (d->m_requestAutoCompletionRevision == document()->revision()) + if (d->m_requestAutoCompletionRevision == document()->revision() && + d->m_requestAutoCompletionPosition == position()) emit requestAutoCompletion(editableInterface(), false); } @@ -1935,6 +1937,7 @@ BaseTextEditorPrivate::BaseTextEditorPrivate() m_findScopeVerticalBlockSelection(0), m_highlightBlocksTimer(0), m_requestAutoCompletionRevision(0), + m_requestAutoCompletionPosition(0), m_requestAutoCompletionTimer(0), m_cursorBlockNumber(-1), m_inKeyPressEvent(false) diff --git a/src/plugins/texteditor/basetexteditor_p.h b/src/plugins/texteditor/basetexteditor_p.h index eae059487c5c2fc549d46509e18137b682a2d7d2..a344349be5412b81f10c17c5333d3768944bd4e1 100644 --- a/src/plugins/texteditor/basetexteditor_p.h +++ b/src/plugins/texteditor/basetexteditor_p.h @@ -264,6 +264,7 @@ public: QTimer *m_highlightBlocksTimer; int m_requestAutoCompletionRevision; + int m_requestAutoCompletionPosition; QTimer *m_requestAutoCompletionTimer; QPointer<BaseTextEditorAnimator> m_animator;