aboutsummaryrefslogtreecommitdiffstats
path: root/src/imports/layouts
diff options
context:
space:
mode:
authorOleg Yadrov <oleg.yadrov@qt.io>2017-01-03 14:49:13 -0800
committerOleg Yadrov <oleg.yadrov@qt.io>2017-01-19 23:02:54 +0000
commit03505d6eb7164298617c1a88979e802d7da12e15 (patch)
treea1a6cba30f55accb7255d583b52b11f3b614b83e /src/imports/layouts
parent94324a4ea2261940d1d55dec141c885bf4f57832 (diff)
StackLayout: propagate rearrange() call to child layouts
Task-number: QTBUG-57867 Change-Id: I0190b892e2bc2966b82a0dbd99e53fd9d6848957 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
Diffstat (limited to 'src/imports/layouts')
-rw-r--r--src/imports/layouts/qquickstacklayout.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/imports/layouts/qquickstacklayout.cpp b/src/imports/layouts/qquickstacklayout.cpp
index a223dd0374..0bfe63816d 100644
--- a/src/imports/layouts/qquickstacklayout.cpp
+++ b/src/imports/layouts/qquickstacklayout.cpp
@@ -307,7 +307,11 @@ void QQuickStackLayout::rearrange(const QSizeF &newSize)
QQuickItem *item = itemAt(d->currentIndex);
Q_ASSERT(item);
item->setPosition(QPointF(0,0)); // ### respect alignment?
- item->setSize(newSize.expandedTo(hints.min()).boundedTo(hints.max()));
+ const QSizeF oldSize(item->width(), item->height());
+ const QSizeF effectiveNewSize = newSize.expandedTo(hints.min()).boundedTo(hints.max());
+ item->setSize(effectiveNewSize);
+ if (effectiveNewSize == oldSize)
+ item->polish();
QQuickLayout::rearrange(newSize);
}