summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Schulz <david.schulz@theqtcompany.com>2016-05-24 13:30:03 +0200
committerDavid Schulz <david.schulz@theqtcompany.com>2016-05-25 06:29:18 +0000
commit527a3d06a4daf0cd795ae51d7da524f15a8bb30b (patch)
tree46cb7f9109d255e57574ed6872c4172aade3e038
parent0944382239e125422ff50dcfde7eb186792f6209 (diff)
downloadqt-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.cpp12
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;