diff options
Diffstat (limited to 'src/quicktemplates2')
-rw-r--r-- | src/quicktemplates2/qquickpopup.cpp | 7 | ||||
-rw-r--r-- | src/quicktemplates2/qquicktooltip.cpp | 2 |
2 files changed, 6 insertions, 3 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; diff --git a/src/quicktemplates2/qquicktooltip.cpp b/src/quicktemplates2/qquicktooltip.cpp index 6b025fe5..b793ada5 100644 --- a/src/quicktemplates2/qquicktooltip.cpp +++ b/src/quicktemplates2/qquicktooltip.cpp @@ -256,7 +256,7 @@ QQuickToolTipAttached *QQuickToolTip::qmlAttachedProperties(QObject *object) void QQuickToolTip::open() { Q_D(QQuickToolTip); - if (d->delay > 0) + if (!d->visible && d->delay > 0) d->startDelay(); else QQuickPopup::open(); |