From cf959b4b4ea3d2dfd5243022fea393fadfd95b0d Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Wed, 29 Oct 2014 13:59:46 +0100 Subject: Repeater & itemviews: fix setModel() JS array handling QVariant comparison in setModel() started failing because JS arrays are now passed as a QJSValue. Re-assigning the same array content should not trigger a model change. This change restores the old behavior it had before, when JS arrays were passed as QVariantLists. Change-Id: I1882b3531f2893b116dbd817edeecab1ae812ce8 Reviewed-by: Simon Hausmann --- src/quick/items/qquickitemview.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/quick/items/qquickitemview.cpp') diff --git a/src/quick/items/qquickitemview.cpp b/src/quick/items/qquickitemview.cpp index 2fd79715e1..93cb5e4e9d 100644 --- a/src/quick/items/qquickitemview.cpp +++ b/src/quick/items/qquickitemview.cpp @@ -273,9 +273,13 @@ QVariant QQuickItemView::model() const return d->modelVariant; } -void QQuickItemView::setModel(const QVariant &model) +void QQuickItemView::setModel(const QVariant &m) { Q_D(QQuickItemView); + QVariant model = m; + if (model.userType() == qMetaTypeId()) + model = model.value().toVariant(); + if (d->modelVariant == model) return; if (d->model) { -- cgit v1.2.3