aboutsummaryrefslogtreecommitdiffstats
path: root/src/quicklayouts
diff options
context:
space:
mode:
authorJani Heikkinen <jani.heikkinen@qt.io>2024-01-11 05:24:23 +0000
committerJani Heikkinen <jani.heikkinen@qt.io>2024-01-12 05:33:20 +0000
commit362a2dbcd7a46306cde168115492d9cd081c5bc2 (patch)
tree7510ccf0c5e98b8be3c2c8acd483b1c4aebf987a /src/quicklayouts
parent5c5a2c24847c636857153078e4716fcb242f394d (diff)
Revert "Remove dirty flag validation during geometry change in the layout"
This reverts commit d85de8da6011731e3ff31ae1361e71fecaedb0be. Reason for revert: QTBUG-120592 Pick-to: 6.7 6.6 6.5 Change-Id: I46f3b41508e9bfeca328b916ba172ea9e0d6aaa1 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
Diffstat (limited to 'src/quicklayouts')
-rw-r--r--src/quicklayouts/qquicklayout.cpp10
1 files changed, 2 insertions, 8 deletions
diff --git a/src/quicklayouts/qquicklayout.cpp b/src/quicklayouts/qquicklayout.cpp
index df25fb7ac1..28a99ced9e 100644
--- a/src/quicklayouts/qquicklayout.cpp
+++ b/src/quicklayouts/qquicklayout.cpp
@@ -787,7 +787,6 @@ QQuickLayoutAttached *QQuickLayout::qmlAttachedProperties(QObject *object)
void QQuickLayout::updatePolish()
{
qCDebug(lcQuickLayouts) << "updatePolish() ENTERING" << this;
- d_func()->m_disableRearrange = false;
m_inUpdatePolish = true;
// Might have become "undirty" before we reach this updatePolish()
@@ -916,13 +915,8 @@ void QQuickLayout::itemChange(ItemChange change, const ItemChangeData &value)
maybeSubscribeToBaseLineOffsetChanges(item);
QQuickItemPrivate::get(item)->removeItemChangeListener(this, changeTypes);
qCDebug(lcQuickLayouts) << "ChildRemoved" << item;
- if (isReady()) {
+ if (isReady())
invalidate();
- // The invalidate() triggers polish and this relayout items in the
- // layout engine. But if there is any geometry change from the same
- // item (due to deferred deletion), its better to skip rearrange
- d_func()->m_disableRearrange = true;
- }
}
QQuickItem::itemChange(change, value);
}
@@ -931,7 +925,7 @@ void QQuickLayout::geometryChange(const QRectF &newGeometry, const QRectF &oldGe
{
Q_D(QQuickLayout);
QQuickItem::geometryChange(newGeometry, oldGeometry);
- if (d->m_disableRearrange || !isReady())
+ if (invalidated() || d->m_disableRearrange || !isReady())
return;
qCDebug(lcQuickLayouts) << "QQuickLayout::geometryChange" << newGeometry << oldGeometry;