diff --git a/src/plugins/texteditor/codeassist/functionhintproposal.cpp b/src/plugins/texteditor/codeassist/functionhintproposal.cpp index 0a46436b91b..226d50308b7 100644 --- a/src/plugins/texteditor/codeassist/functionhintproposal.cpp +++ b/src/plugins/texteditor/codeassist/functionhintproposal.cpp @@ -43,7 +43,7 @@ FunctionHintProposal::~FunctionHintProposal() bool FunctionHintProposal::isFragile() const { - return false; + return true; } int FunctionHintProposal::basePosition() const diff --git a/src/plugins/texteditor/codeassist/functionhintproposalwidget.cpp b/src/plugins/texteditor/codeassist/functionhintproposalwidget.cpp index e0023976c0e..d74878f2f21 100644 --- a/src/plugins/texteditor/codeassist/functionhintproposalwidget.cpp +++ b/src/plugins/texteditor/codeassist/functionhintproposalwidget.cpp @@ -212,13 +212,18 @@ bool FunctionHintProposalWidget::eventFilter(QObject *obj, QEvent *e) return false; } break; - case QEvent::KeyRelease: - if (static_cast(e)->key() == Qt::Key_Escape && d->m_escapePressed) { - abort(); - emit explicitlyAborted(); - return false; + case QEvent::KeyRelease: { + QKeyEvent *ke = static_cast(e); + if (ke->key() == Qt::Key_Escape && d->m_escapePressed) { + abort(); + emit explicitlyAborted(); + return false; + } else if (ke->key() == Qt::Key_Up || ke->key() == Qt::Key_Down) { + if (d->m_model->size() > 1) + return false; + } + d->m_assistant->notifyChange(); } - d->m_assistant->notifyChange(); break; case QEvent::WindowDeactivate: case QEvent::FocusOut: