diff options
| author | Richard Moe Gustavsen <richard.gustavsen@qt.io> | 2024-08-16 11:15:18 +0200 |
|---|---|---|
| committer | Richard Moe Gustavsen <richard.gustavsen@qt.io> | 2024-08-21 16:53:47 +0200 |
| commit | 523c53d33d0d40cf1b71991903a2192c05a926de (patch) | |
| tree | 2d9bb47079d15d474d6ebb079873ec4f8c2ff902 /src/quick/platform/android/qandroidquickviewembedding.cpp | |
| parent | 876b9878049e9cc98466f8f5414485301b80232b (diff) | |
QQuickTableView: don't leave the viewport in an overshooting state after resize
If we need to change the extents of the Flickable (that is, which
point should be considered the top-left and bottom-right corner of
the contentItem inside the viewport), it can sometimes happen that
that Flickable is left suspended in an overshooting state (that
is, it looks as if the user dragged the contentItem out-of-bounds,
which will normally make it bounce back upon a release). And this
comes across as a bug.
This patch will therefore call returnToBounds() explicitly whenever
we change the extents (unless the contentItem is being dragged, as
we don't want to interrupt that).
As it stood, we would also call markExtentsDirty() far too often from
updateExtents(), even when the extents didn't change. Depending on
what Flickable does to handle dirty extents, this causes uneccessary
overhead and might slow down performance. It also produces a lot of
superfluous logging output in TableView.
This patch will therefore also check if the extents change before
calling markExtentsDirty() (and as such, avoid calling
returnToBounds() all the time).
Task-number: QTBUG-127809
Pick-to: 6.8 6.7 6.5 6.2
Change-Id: Id801f3e62b3dcde1b59d49e4efc9d6631d5672bb
Reviewed-by: Santhosh Kumar <santhosh.kumar.selvaraj@qt.io>
Diffstat (limited to 'src/quick/platform/android/qandroidquickviewembedding.cpp')
0 files changed, 0 insertions, 0 deletions
