From ac124d39f48e3d4392aa486902d103f7515f912b Mon Sep 17 00:00:00 2001
From: Roberto Raggi <roberto.raggi@nokia.com>
Date: Tue, 20 Jul 2010 14:36:01 +0200
Subject: [PATCH] Check the cursor position before to trigger an automatic
 completion.

---
 src/plugins/texteditor/basetexteditor.cpp | 5 ++++-
 src/plugins/texteditor/basetexteditor_p.h | 1 +
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp
index 9bde64cbc50..323e03b02a3 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 eae059487c5..a344349be54 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;
-- 
GitLab