summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@theqtcompany.com>2015-02-10 10:35:36 +0100
committerFrederik Gladhorn <frederik.gladhorn@theqtcompany.com>2015-02-10 10:35:36 +0100
commitacf13ece3d41c7a7188b6e44d17106dfefafa3d8 (patch)
treee236975992f8ca65cc30e881598beeef5c706174
parent43ba79acb9ca4080b950c3273f2e237593c80172 (diff)
parentbc0cbee60cc309bef5e5359254f798942f676928 (diff)
Merge remote-tracking branch 'origin/5.4.1' into 5.4
-rw-r--r--src/declarative/qml/qdeclarativeengine.cpp2
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp6
-rw-r--r--tests/auto/declarative/qdeclarativegridview/BLACKLIST2
3 files changed, 10 insertions, 0 deletions
diff --git a/src/declarative/qml/qdeclarativeengine.cpp b/src/declarative/qml/qdeclarativeengine.cpp
index 682c8267..14f3c95c 100644
--- a/src/declarative/qml/qdeclarativeengine.cpp
+++ b/src/declarative/qml/qdeclarativeengine.cpp
@@ -2125,6 +2125,8 @@ QVariant QDeclarativeEnginePrivate::scriptValueToVariant(const QScriptValue &val
if (val.isArray()) {
int length = val.property(QLatin1String("length")).toInt32();
+ if (!length)
+ containsQObjects = true;
for (int ii = 0; ii < length; ++ii) {
if (val.property(ii).isQObject()) {
containsQObjects = true;
diff --git a/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp b/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp
index 9eef4c74..779c1d2e 100644
--- a/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp
+++ b/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp
@@ -438,6 +438,12 @@ void tst_qdeclarativeecmascript::arrayExpressions()
QCOMPARE(list2.at(1), QVariant(2));
QCOMPARE(list2.at(2), QVariant(QString("foo")));
QCOMPARE(list2.at(3), QVariant(QString("bar")));
+
+ MyExpression expr3(&context, "[]");
+ result = expr3.evaluate();
+ QCOMPARE(result.userType(), qMetaTypeId<QList<QObject *> >());
+ QList<QObject *> list3 = qvariant_cast<QList<QObject *> >(result);
+ QCOMPARE(list3.count(), 0);
}
// Tests that modifying a context property will reevaluate expressions
diff --git a/tests/auto/declarative/qdeclarativegridview/BLACKLIST b/tests/auto/declarative/qdeclarativegridview/BLACKLIST
new file mode 100644
index 00000000..2fe0dd96
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativegridview/BLACKLIST
@@ -0,0 +1,2 @@
+[currentIndex]
+*