diff options
author | Richard Moe Gustavsen <richard.gustavsen@qt.io> | 2018-08-23 14:16:07 +0200 |
---|---|---|
committer | Richard Moe Gustavsen <richard.gustavsen@qt.io> | 2018-08-23 13:57:20 +0000 |
commit | ee0713e3988b0acf3a1ec6cad1c7722dbec76ea7 (patch) | |
tree | 6dbf89401f77f0d07f00ac9c4013e200c02a2d2a /src/quick/items/qquicktableview_p_p.h | |
parent | 7c55485b75548fe6538f6d5227066640a2cbb878 (diff) |
QQuickTableView: don't overwrite rebuildState
Since it's fully possible to end up calling invalidateTable() while
in the process of rebuilding the table, we need to ensure that we
don't mess with the current rebuildState. Instead, just schedule
that we need to rebuild once more later.
Change-Id: If27bb14f0bc9f72c53eb47e6115d7ad580cdb516
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'src/quick/items/qquicktableview_p_p.h')
-rw-r--r-- | src/quick/items/qquicktableview_p_p.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/quick/items/qquicktableview_p_p.h b/src/quick/items/qquicktableview_p_p.h index 53fd936195..1ba18480ba 100644 --- a/src/quick/items/qquicktableview_p_p.h +++ b/src/quick/items/qquicktableview_p_p.h @@ -164,7 +164,7 @@ public: }; enum class RebuildState { - NotStarted = 0, + Begin = 0, LoadInitalTable, VerifyTable, LayoutTable, @@ -208,7 +208,7 @@ public: QSize tableSize; - RebuildState rebuildState = RebuildState::NotStarted; + RebuildState rebuildState = RebuildState::Done; TableEdgeLoadRequest loadRequest; QPoint contentSizeBenchMarkPoint = QPoint(-1, -1); @@ -221,6 +221,7 @@ public: bool columnRowPositionsInvalid = false; bool layoutWarningIssued = false; bool polishing = false; + bool rebuildScheduled = true; QJSValue rowHeightProvider; QJSValue columnWidthProvider; |