diff options
author | Martin Jones <martin.jones@nokia.com> | 2012-02-27 15:54:16 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-02-28 01:42:05 +0100 |
commit | f2c5c77777b61c8fe54a1107e67283d576301a69 (patch) | |
tree | 9fcd6dc0cf9536c6a6efa57dd007d2e536f78e86 /src/quick/items/qquickitemview.cpp | |
parent | 0bf62c44ab5bc53162ef0d7efea38764e2df8318 (diff) |
Incubators are not async with the threaded renderer.
The threaded incubator relies on the event loop spinning to signal
item updates. This change ensures that the event loop is processed
while items are being created and that the render loop is woken
if it is sleeping.
Also cancel delegate incubation correctly during destruction.
Change-Id: Ib5bb55c788411490e0959c75933da587fdfd4b8c
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
Diffstat (limited to 'src/quick/items/qquickitemview.cpp')
-rw-r--r-- | src/quick/items/qquickitemview.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/quick/items/qquickitemview.cpp b/src/quick/items/qquickitemview.cpp index f62fa94f5e..d5ce567590 100644 --- a/src/quick/items/qquickitemview.cpp +++ b/src/quick/items/qquickitemview.cpp @@ -2162,6 +2162,12 @@ void QQuickItemViewPrivate::clear() createHighlight(); trackedItem = 0; + if (requestedIndex >= 0 && requestedAsync) { + if (model) + model->cancel(requestedIndex); + requestedIndex = -1; + } + markExtentsDirty(); itemCount = 0; } |