diff options
author | Jani Heikkinen <jani.heikkinen@qt.io> | 2024-01-11 05:24:23 +0000 |
---|---|---|
committer | Jani Heikkinen <jani.heikkinen@qt.io> | 2024-01-12 05:33:20 +0000 |
commit | 362a2dbcd7a46306cde168115492d9cd081c5bc2 (patch) | |
tree | 7510ccf0c5e98b8be3c2c8acd483b1c4aebf987a /src/quicklayouts | |
parent | 5c5a2c24847c636857153078e4716fcb242f394d (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.cpp | 10 |
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; |