diff --git a/src/libs/utils/tooltip/tooltip.cpp b/src/libs/utils/tooltip/tooltip.cpp index 47799b75a9087029ef9fb3b66243041f97d69a75..857ec071a794e0c51d70356e9b702fd73a8e741e 100644 --- a/src/libs/utils/tooltip/tooltip.cpp +++ b/src/libs/utils/tooltip/tooltip.cpp @@ -305,9 +305,11 @@ bool ToolTip::eventFilter(QObject *o, QEvent *event) switch (event->type()) { case QEvent::KeyPress: - case QEvent::KeyRelease: + case QEvent::KeyRelease: { + int key = static_cast<QKeyEvent *>(event)->key(); + if (key == Qt::Key_Escape) + hideTipImmediately(); if (HostOsInfo::isMacHost()) { - int key = static_cast<QKeyEvent *>(event)->key(); Qt::KeyboardModifiers mody = static_cast<QKeyEvent *>(event)->modifiers(); if (!(mody & Qt::KeyboardModifierMask) && key != Qt::Key_Shift && key != Qt::Key_Control @@ -315,6 +317,7 @@ bool ToolTip::eventFilter(QObject *o, QEvent *event) hideTipWithDelay(); } break; + } case QEvent::Leave: if (o == m_tip && !m_tip->isAncestorOf(QApplication::focusWidget())) hideTipWithDelay();