diff options
author | Richard Moe Gustavsen <richard.gustavsen@qt.io> | 2019-04-01 13:10:35 +0200 |
---|---|---|
committer | Richard Moe Gustavsen <richard.gustavsen@qt.io> | 2019-05-02 13:04:47 +0000 |
commit | 1db6782d6081fa54e7c951c21ac7c8953d2c9bfb (patch) | |
tree | f8f83fa9b0aaa8503c383c91439db279851b8094 /src/quick | |
parent | 325e6305b418ffe1dfb9a36c2516c6a8a3de5733 (diff) |
QQuickTableView: optimize forceLayout() to start updating from the root
Change-Id: Ib2f195780415836ebb03c151a6586fd7b0fb77b8
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'src/quick')
-rw-r--r-- | src/quick/items/qquicktableview.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/quick/items/qquicktableview.cpp b/src/quick/items/qquicktableview.cpp index 8f5130fc17..9e795f3c8c 100644 --- a/src/quick/items/qquicktableview.cpp +++ b/src/quick/items/qquicktableview.cpp @@ -770,13 +770,12 @@ void QQuickTableViewPrivate::forceLayout() scheduleRebuildTable(rebuildOptions); - if (polishing) { + auto rootView = rootSyncView(); + const bool updated = rootView->d_func()->updateTableRecursive(); + if (!updated) { qWarning() << "TableView::forceLayout(): Cannot do an immediate re-layout during an ongoing layout!"; - q_func()->polish(); - return; + rootView->polish(); } - - updatePolish(); } void QQuickTableViewPrivate::syncLoadedTableFromLoadRequest() |