diff options
-rw-r--r-- | src/quicktemplates2/qquickswipedelegate.cpp | 9 | ||||
-rw-r--r-- | src/quicktemplates2/qquickswipedelegate_p.h | 1 |
2 files changed, 9 insertions, 1 deletions
diff --git a/src/quicktemplates2/qquickswipedelegate.cpp b/src/quicktemplates2/qquickswipedelegate.cpp index 9df361ee..ed6da9dc 100644 --- a/src/quicktemplates2/qquickswipedelegate.cpp +++ b/src/quicktemplates2/qquickswipedelegate.cpp @@ -1217,12 +1217,19 @@ void QQuickSwipeDelegate::touchEvent(QTouchEvent *event) event->ignore(); } +void QQuickSwipeDelegate::componentComplete() +{ + Q_D(QQuickSwipeDelegate); + QQuickItemDelegate::componentComplete(); + QQuickSwipePrivate::get(&d->swipe)->reposition(DontAnimatePosition); +} + void QQuickSwipeDelegate::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) { Q_D(QQuickSwipeDelegate); QQuickControl::geometryChanged(newGeometry, oldGeometry); - if (!qFuzzyCompare(newGeometry.width(), oldGeometry.width())) { + if (isComponentComplete() && !qFuzzyCompare(newGeometry.width(), oldGeometry.width())) { QQuickSwipePrivate *swipePrivate = QQuickSwipePrivate::get(&d->swipe); swipePrivate->reposition(DontAnimatePosition); } diff --git a/src/quicktemplates2/qquickswipedelegate_p.h b/src/quicktemplates2/qquickswipedelegate_p.h index ad840097..53211ccb 100644 --- a/src/quicktemplates2/qquickswipedelegate_p.h +++ b/src/quicktemplates2/qquickswipedelegate_p.h @@ -79,6 +79,7 @@ protected: void mouseReleaseEvent(QMouseEvent *event) override; void touchEvent(QTouchEvent *event) override; + void componentComplete() override; void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) override; QFont defaultFont() const override; |