diff options
author | J-P Nurmi <jpnurmi@qt.io> | 2017-09-01 17:16:04 +0000 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2017-09-01 17:16:04 +0000 |
commit | 23ea3f7a3359b0cd28bc0b38512f2764d19367c3 (patch) | |
tree | 480bc835fc80d3029de9f308580bdcbcf572f287 /src/quicktemplates2/qquicktabbar.cpp | |
parent | b23a0dc60f72ad02475a234deb7137f7ab170d14 (diff) | |
parent | 911b72e7591e364cc8d17a30f6b54bcf0f20031c (diff) |
Merge "Merge remote-tracking branch 'origin/5.10' into dev" into refs/staging/dev
Diffstat (limited to 'src/quicktemplates2/qquicktabbar.cpp')
-rw-r--r-- | src/quicktemplates2/qquicktabbar.cpp | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/src/quicktemplates2/qquicktabbar.cpp b/src/quicktemplates2/qquicktabbar.cpp index 814d14ea..52522262 100644 --- a/src/quicktemplates2/qquicktabbar.cpp +++ b/src/quicktemplates2/qquicktabbar.cpp @@ -228,27 +228,29 @@ void QQuickTabBarPrivate::updateLayout() contentHeightChange = true; } + updatingLayout = true; if (contentWidthChange) emit q->contentWidthChanged(); if (contentHeightChange) emit q->contentHeightChanged(); + updatingLayout = false; } -void QQuickTabBarPrivate::itemGeometryChanged(QQuickItem *, QQuickGeometryChange, const QRectF &) +void QQuickTabBarPrivate::itemGeometryChanged(QQuickItem *item, QQuickGeometryChange change, const QRectF &) { - if (!updatingLayout) + if (!updatingLayout && change.sizeChange() && QQuickItemPrivate::get(item)->componentComplete) updateLayout(); } -void QQuickTabBarPrivate::itemImplicitWidthChanged(QQuickItem *) +void QQuickTabBarPrivate::itemImplicitWidthChanged(QQuickItem *item) { - if (!updatingLayout && !hasContentWidth) + if (!updatingLayout && !hasContentWidth && QQuickItemPrivate::get(item)->componentComplete) updateLayout(); } -void QQuickTabBarPrivate::itemImplicitHeightChanged(QQuickItem *) +void QQuickTabBarPrivate::itemImplicitHeightChanged(QQuickItem *item) { - if (!updatingLayout && !hasContentHeight) + if (!updatingLayout && !hasContentHeight && QQuickItemPrivate::get(item)->componentComplete) updateLayout(); } @@ -397,7 +399,10 @@ void QQuickTabBar::geometryChanged(const QRectF &newGeometry, const QRectF &oldG { Q_D(QQuickTabBar); QQuickContainer::geometryChanged(newGeometry, oldGeometry); - d->updateLayout(); + if (!d->updatingLayout) + d->updateLayout(); + else + polish(); } bool QQuickTabBar::isContent(QQuickItem *item) const |