aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2014-03-02 20:35:57 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-03-02 22:29:27 +0100
commit06479ddfe3a9319fd371cd50f4d2f2316d51055a (patch)
tree6239592028143718b64a9e6621c59e8185a7698a /src/quick
parent57665bf23a00eca240d26c6267ca2bed1a052c0b (diff)
[new compiler] Add the correct object index to the custom parser
Without the correct index the calls to astForBinding run out of bounds. Fixes tst_qqmllistmodel crash. Change-Id: I6fb8b77866cbf247e7373cdbece6833c92be3615 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/quick')
-rw-r--r--src/quick/util/qquickpropertychanges.cpp3
-rw-r--r--src/quick/util/qquickpropertychanges_p.h2
2 files changed, 3 insertions, 2 deletions
diff --git a/src/quick/util/qquickpropertychanges.cpp b/src/quick/util/qquickpropertychanges.cpp
index 7bb318fd79..916a605999 100644
--- a/src/quick/util/qquickpropertychanges.cpp
+++ b/src/quick/util/qquickpropertychanges.cpp
@@ -331,8 +331,9 @@ QQuickPropertyChangesParser::compile(const QList<QQmlCustomParserProperty> &prop
return rv;
}
-QByteArray QQuickPropertyChangesParser::compile(const QV4::CompiledData::QmlUnit *qmlUnit, const QList<const QV4::CompiledData::Binding *> &props)
+QByteArray QQuickPropertyChangesParser::compile(const QV4::CompiledData::QmlUnit *qmlUnit, int objectIndex, const QList<const QV4::CompiledData::Binding *> &props)
{
+ Q_UNUSED(objectIndex)
QList<QPair<QString, const QV4::CompiledData::Binding *> > data;
for (int ii = 0; ii < props.count(); ++ii)
compileList(data, QString(), qmlUnit, props.at(ii));
diff --git a/src/quick/util/qquickpropertychanges_p.h b/src/quick/util/qquickpropertychanges_p.h
index 081ea72862..5073f3aca5 100644
--- a/src/quick/util/qquickpropertychanges_p.h
+++ b/src/quick/util/qquickpropertychanges_p.h
@@ -96,7 +96,7 @@ public:
void compileList(QList<QPair<QString, const QV4::CompiledData::Binding *> > &list, const QString &pre, const QV4::CompiledData::QmlUnit *qmlUnit, const QV4::CompiledData::Binding *binding);
virtual QByteArray compile(const QList<QQmlCustomParserProperty> &);
- virtual QByteArray compile(const QV4::CompiledData::QmlUnit *qmlUnit, const QList<const QV4::CompiledData::Binding *> &props);
+ virtual QByteArray compile(const QV4::CompiledData::QmlUnit *qmlUnit, int objectIndex, const QList<const QV4::CompiledData::Binding *> &props);
virtual void setCustomData(QObject *, const QByteArray &);
};