From 3d145175fd50b3fe31c62348307c995717d4200d Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Mon, 18 Nov 2013 14:23:36 +0100 Subject: Don't assert in QQuickItem::update The method can actually be called from QML, so we can not have an assert in that method. Instead simply return if the item has no contents Task-number: QTBUG-34060 Change-Id: Ib28ffa5c6c63fbec956abe25020010ed73a9cfa9 Reviewed-by: Erik Verbruggen Reviewed-by: Gunnar Sletta --- tests/auto/qml/qqmlecmascript/data/updateCall.qml | 10 ++++++++++ tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp | 12 ++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 tests/auto/qml/qqmlecmascript/data/updateCall.qml (limited to 'tests') diff --git a/tests/auto/qml/qqmlecmascript/data/updateCall.qml b/tests/auto/qml/qqmlecmascript/data/updateCall.qml new file mode 100644 index 0000000000..341a360d25 --- /dev/null +++ b/tests/auto/qml/qqmlecmascript/data/updateCall.qml @@ -0,0 +1,10 @@ +import QtQuick 2.1 + +Rectangle { + MouseArea { + anchors.fill: parent; + Component.onCompleted: { + update(); + } + } +} diff --git a/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp b/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp index 52791cdee5..95f03d2c5b 100644 --- a/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp +++ b/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp @@ -304,6 +304,7 @@ private slots: void propertyOverride(); void concatenatedStringPropertyAccess(); void jsOwnedObjectsDeletedOnEngineDestroy(); + void updateCall(); void numberParsing(); void stringParsing(); void qtbug_32801(); @@ -7278,6 +7279,17 @@ void tst_qqmlecmascript::jsOwnedObjectsDeletedOnEngineDestroy() delete object; } +void tst_qqmlecmascript::updateCall() +{ + // update is a slot on QQuickItem. Even though it's not + // documented it can be called from within QML. Make sure + // we don't crash when calling it. + QString file("updateCall.qml"); + QQmlComponent component(&engine, testFileUrl(file)); + QObject *object = component.create(); + QVERIFY(object != 0); +} + void tst_qqmlecmascript::numberParsing() { for (int i = 1; i < 8; ++i) { -- cgit v1.2.3