From e95dc3b4853c1736aef0ef2cc5248ec0aa46e3ff Mon Sep 17 00:00:00 2001 From: Mitch Curtis Date: Fri, 30 Sep 2016 22:47:34 +0200 Subject: 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 --- src/quicktemplates2/qquickpopup.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/quicktemplates2/qquickpopup.cpp') 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; -- cgit v1.2.3