diff options
author | Martin Jones <martin.jones@jollamobile.com> | 2014-07-23 17:51:37 +1000 |
---|---|---|
committer | Martin Jones <martin.jones@jollamobile.com> | 2014-07-25 02:58:24 +0200 |
commit | 39c144f44be76ccc7bdec540a7b7ec00cf0fdc5d (patch) | |
tree | 65a49bcc2b84b6594f2a2127d632cc48fbdc7edb /src/quick/items/qquickitemview.cpp | |
parent | 79f262711c053608c7b0d775a8c7031368ddd17f (diff) |
Don't recreate header and footer unnecessarily
The only time that they need to be recreated is if the orientation
changes (even then, a good implementation could handle it, but no
point requiring that now).
Task-number: QTBUG-40375
Change-Id: Id0215fb812724827bb139cda8f8dc6208c703852
Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
Diffstat (limited to 'src/quick/items/qquickitemview.cpp')
-rw-r--r-- | src/quick/items/qquickitemview.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/quick/items/qquickitemview.cpp b/src/quick/items/qquickitemview.cpp index 94abbd0954..ff8c69a9c0 100644 --- a/src/quick/items/qquickitemview.cpp +++ b/src/quick/items/qquickitemview.cpp @@ -1783,18 +1783,20 @@ void QQuickItemViewPrivate::refill(qreal from, qreal to) emit q->countChanged(); } -void QQuickItemViewPrivate::regenerate() +void QQuickItemViewPrivate::regenerate(bool orientationChanged) { Q_Q(QQuickItemView); if (q->isComponentComplete()) { currentChanges.reset(); - delete header; - header = 0; - delete footer; - footer = 0; + if (orientationChanged) { + delete header; + header = 0; + delete footer; + footer = 0; + } + clear(); updateHeader(); updateFooter(); - clear(); updateViewport(); setPosition(contentStartOffset()); refill(); |