aboutsummaryrefslogtreecommitdiffstats
path: root/src/quicktemplates2/qquickpopup.cpp
diff options
context:
space:
mode:
authorMitch Curtis <mitch.curtis@qt.io>2016-09-30 22:47:34 +0200
committerJ-P Nurmi <jpnurmi@qt.io>2016-09-30 21:02:13 +0000
commite95dc3b4853c1736aef0ef2cc5248ec0aa46e3ff (patch)
treeeaea0d060b943cfa429737e92cb4c9ba9e238c2a /src/quicktemplates2/qquickpopup.cpp
parent38e876032834ab6d02b94a798fe2866a79757719 (diff)
Cancel exit transition when the same tooltip is shown again
Task-number: QTBUG-54206 Task-number: QTBUG-54532 Change-Id: I7e4d993e3b1e30d7d7956629604f948dd1c85e32 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
Diffstat (limited to 'src/quicktemplates2/qquickpopup.cpp')
-rw-r--r--src/quicktemplates2/qquickpopup.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/quicktemplates2/qquickpopup.cpp b/src/quicktemplates2/qquickpopup.cpp
index a3d68266..e4e9cc11 100644
--- a/src/quicktemplates2/qquickpopup.cpp
+++ b/src/quicktemplates2/qquickpopup.cpp
@@ -770,6 +770,9 @@ QQuickPopupTransitionManager::QQuickPopupTransitionManager(QQuickPopupPrivate *p
void QQuickPopupTransitionManager::transitionEnter()
{
+ if (popup->transitionState == QQuickPopupPrivate::ExitTransition)
+ cancel();
+
if (!popup->prepareEnterTransition())
return;
@@ -829,7 +832,7 @@ QQuickPopup::~QQuickPopup()
void QQuickPopup::open()
{
Q_D(QQuickPopup);
- if (d->visible)
+ if (d->visible && d->transitionState != QQuickPopupPrivate::ExitTransition)
return;
if (d->complete)
@@ -1767,7 +1770,7 @@ bool QQuickPopup::isVisible() const
void QQuickPopup::setVisible(bool visible)
{
Q_D(QQuickPopup);
- if (d->visible == visible)
+ if (d->visible == visible && d->transitionState != QQuickPopupPrivate::ExitTransition)
return;
d->visible = visible;