diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp index 323e03b02a3..a842ce94638 100644 --- a/src/plugins/texteditor/basetexteditor.cpp +++ b/src/plugins/texteditor/basetexteditor.cpp @@ -1415,6 +1415,9 @@ void BaseTextEditor::_q_requestAutoCompletion() { d->m_requestAutoCompletionTimer->stop(); + if (CompletionSupport::instance()->isActive()) + return; + if (d->m_requestAutoCompletionRevision == document()->revision() && d->m_requestAutoCompletionPosition == position()) emit requestAutoCompletion(editableInterface(), false); diff --git a/src/plugins/texteditor/completionsupport.cpp b/src/plugins/texteditor/completionsupport.cpp index 1ae51b106b5..44dfad52199 100644 --- a/src/plugins/texteditor/completionsupport.cpp +++ b/src/plugins/texteditor/completionsupport.cpp @@ -93,6 +93,11 @@ void CompletionSupport::cleanupCompletions() } } +bool CompletionSupport::isActive() const +{ + return m_completionList != 0; +} + void CompletionSupport::autoComplete(ITextEditable *editor, bool forced) { autoComplete_helper(editor, forced, /*quickFix = */ false); diff --git a/src/plugins/texteditor/completionsupport.h b/src/plugins/texteditor/completionsupport.h index 7403ed49005..6cf43cd6a91 100644 --- a/src/plugins/texteditor/completionsupport.h +++ b/src/plugins/texteditor/completionsupport.h @@ -55,6 +55,9 @@ public: CompletionSupport(); static CompletionSupport *instance(); + + bool isActive() const; + public slots: void autoComplete(TextEditor::ITextEditable *editor, bool forced); void quickFix(TextEditor::ITextEditable *editor);