diff options
author | David Schulz <david.schulz@theqtcompany.com> | 2016-05-24 13:30:03 +0200 |
---|---|---|
committer | David Schulz <david.schulz@theqtcompany.com> | 2016-05-25 06:29:18 +0000 |
commit | 527a3d06a4daf0cd795ae51d7da524f15a8bb30b (patch) | |
tree | 46cb7f9109d255e57574ed6872c4172aade3e038 | |
parent | 0944382239e125422ff50dcfde7eb186792f6209 (diff) | |
download | qt-creator-527a3d06a4daf0cd795ae51d7da524f15a8bb30b.tar.gz |
Fix hiding tooltips on windows.
basically an rewrite of commit c47e52c97b6f303e6ffa6f160cdbd3155805f2de.
Task-number: QTCREATORBUG-15882
Change-Id: I711f99ed0ae1d1859d5ef5cbd2128215a10b7ed4
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
-rw-r--r-- | src/libs/utils/tooltip/tooltip.cpp | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/src/libs/utils/tooltip/tooltip.cpp b/src/libs/utils/tooltip/tooltip.cpp index 8947976c91..7617403c81 100644 --- a/src/libs/utils/tooltip/tooltip.cpp +++ b/src/libs/utils/tooltip/tooltip.cpp @@ -48,13 +48,6 @@ ToolTip::ToolTip() : m_tip(0), m_widget(0) { connect(&m_showTimer, &QTimer::timeout, this, &ToolTip::hideTipImmediately); connect(&m_hideDelayTimer, &QTimer::timeout, this, &ToolTip::hideTipImmediately); - connect(static_cast<QGuiApplication *>(QGuiApplication::instance()), - &QGuiApplication::applicationStateChanged, - [this](Qt::ApplicationState state) { - if (state != Qt::ApplicationActive) - hideTipImmediately(); - } - ); } ToolTip::~ToolTip() @@ -290,6 +283,11 @@ void ToolTip::placeTip(const QPoint &pos, QWidget *w) bool ToolTip::eventFilter(QObject *o, QEvent *event) { + if (m_tip && event->type() == QEvent::ApplicationStateChange + && qApp->applicationState() != Qt::ApplicationActive) { + hideTipImmediately(); + } + if (!o->isWidgetType()) return false; |