diff options
author | J-P Nurmi <jpnurmi@qt.io> | 2018-01-16 09:37:42 +0100 |
---|---|---|
committer | J-P Nurmi <jpnurmi@qt.io> | 2018-01-16 09:38:19 +0100 |
commit | 08e6333450bc28c61fa804101df3ae8bef4e9568 (patch) | |
tree | acb8973cbbd2319ab75e460e35a3278459d717df /src/quicktemplates2/qquickspinbox.cpp | |
parent | ef5e426bed3b1362394c7cc0c97522bb20cacff0 (diff) | |
parent | 744d14b468eb4bdd4dabf72ef7acdca1bc07ea5d (diff) |
Merge remote-tracking branch 'origin/5.10' into dev
Change-Id: Ibd1490e8d958361e55ac272dff75c9361239958b
Diffstat (limited to 'src/quicktemplates2/qquickspinbox.cpp')
-rw-r--r-- | src/quicktemplates2/qquickspinbox.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/quicktemplates2/qquickspinbox.cpp b/src/quicktemplates2/qquickspinbox.cpp index f7af2015..5e74f6ef 100644 --- a/src/quicktemplates2/qquickspinbox.cpp +++ b/src/quicktemplates2/qquickspinbox.cpp @@ -184,6 +184,7 @@ public: return button->d_func(); } + void cancelIndicator(); void executeIndicator(bool complete = false); bool pressed; @@ -1048,13 +1049,19 @@ void QQuickSpinBox::accessibilityActiveChanged(bool active) static inline QString indicatorName() { return QStringLiteral("indicator"); } +void QQuickSpinButtonPrivate::cancelIndicator() +{ + Q_Q(QQuickSpinButton); + quickCancelDeferred(q, indicatorName()); +} + void QQuickSpinButtonPrivate::executeIndicator(bool complete) { Q_Q(QQuickSpinButton); if (indicator.wasExecuted()) return; - if (!indicator) + if (!indicator || complete) quickBeginDeferred(q, indicatorName(), indicator); if (complete) quickCompleteDeferred(q, indicatorName(), indicator); @@ -1095,6 +1102,9 @@ void QQuickSpinButton::setIndicator(QQuickItem *indicator) if (d->indicator == indicator) return; + if (!d->indicator.isExecuting()) + d->cancelIndicator(); + delete d->indicator; d->indicator = indicator; |