aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickrepeater_p_p.h
diff options
context:
space:
mode:
authorGlenn Watson <glenn.watson@nokia.com>2012-03-12 13:20:22 +1000
committerQt by Nokia <qt-info@nokia.com>2012-03-13 02:02:49 +0100
commitbe8675ab01132ffb03b81cc81842775d6a8fa3f9 (patch)
treeb7126d1fc348b8fe7393ebf646d5c92fa40c1cbc /src/quick/items/qquickrepeater_p_p.h
parentfc5ddb181896d3a364c046ae21b61283412fc722 (diff)
Change repeater item to handle model being deleted.
The repeater item previously stored a raw QObject pointer in a variant. When this pointer was a dynamic list model element that was deleted, the variant would continue to hold a stale pointer. Change repeater to use a guard object to hold the model when it is a QObject. Continue to use a variant to hold models that are not based on QObject to maintain same semantics. Change-Id: Ie100947132923803263c725e86efa68206382f12 Reviewed-by: Martin Jones <martin.jones@nokia.com>
Diffstat (limited to 'src/quick/items/qquickrepeater_p_p.h')
-rw-r--r--src/quick/items/qquickrepeater_p_p.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/quick/items/qquickrepeater_p_p.h b/src/quick/items/qquickrepeater_p_p.h
index 88e0c94218..41d77ad977 100644
--- a/src/quick/items/qquickrepeater_p_p.h
+++ b/src/quick/items/qquickrepeater_p_p.h
@@ -75,8 +75,10 @@ private:
QQuickVisualModel *model;
QVariant dataSource;
+ QQmlGuard<QObject> dataSourceAsObject;
bool ownModel : 1;
bool inRequest : 1;
+ bool dataSourceIsObject : 1;
int itemCount;
int createFrom;