Fix a crash in QQuickRepeater::clear()
authorJ-P Nurmi <jpnurmi@digia.com>
Thu, 16 May 2013 11:09:51 +0000 (13:09 +0200)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Thu, 16 May 2013 17:55:24 +0000 (19:55 +0200)
Change-Id: Iedf45862323ca8233be155ce65cd3348abd0a8e5
Reviewed-by: Caroline Chao <caroline.chao@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
src/quick/items/qquickrepeater.cpp

index 62ce78a..d92b3b4 100644 (file)
@@ -351,11 +351,12 @@ void QQuickRepeater::clear()
 
     if (d->model) {
         for (int i = 0; i < d->deletables.count(); ++i) {
-            QQuickItem *item = d->deletables.at(i);
-            if (complete)
-                emit itemRemoved(i, item);
-            item->setParentItem(0);
-            d->model->release(item);
+            if (QQuickItem *item = d->deletables.at(i)) {
+                if (complete)
+                    emit itemRemoved(i, item);
+                item->setParentItem(0);
+                d->model->release(item);
+            }
         }
     }
     d->deletables.clear();