diff options
author | J-P Nurmi <jpnurmi@theqtcompany.com> | 2015-12-15 22:01:44 +0100 |
---|---|---|
committer | J-P Nurmi <jpnurmi@theqtcompany.com> | 2015-12-16 12:41:01 +0000 |
commit | 0cb672de5c87e3af1b80bbe89f1140e4e2623673 (patch) | |
tree | b0a4fdb35dabbc944dc966e828f2fa23cb423820 | |
parent | 693b4001df440f7e629ad7f7c5c772e251e0be59 (diff) |
StackView: print better error messages
"QQmlComponent: Component is not ready" alone is not too descriptive.
Now StackView prints also the actual error string from QQmlComponent.
Change-Id: I3d8a379f0565d1cc0f66e622c93de2a2dec87bcb
Task-number: QTBUG-49957
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
-rw-r--r-- | src/templates/qquickstackview_p.cpp | 2 | ||||
-rw-r--r-- | tests/auto/controls/data/tst_stackview.qml | 8 |
2 files changed, 8 insertions, 2 deletions
diff --git a/src/templates/qquickstackview_p.cpp b/src/templates/qquickstackview_p.cpp index dbcb186a..92bfcbf4 100644 --- a/src/templates/qquickstackview_p.cpp +++ b/src/templates/qquickstackview_p.cpp @@ -139,6 +139,8 @@ bool QQuickStackElement::load(QQuickStackView *parent) delete incubator; incubator = new QQuickStackIncubator(this); component->create(*incubator, context); + if (component->isError()) + qWarning() << qPrintable(component->errorString().trimmed()); } else { initialize(); } diff --git a/tests/auto/controls/data/tst_stackview.qml b/tests/auto/controls/data/tst_stackview.qml index 6869ddac..aee82eec 100644 --- a/tests/auto/controls/data/tst_stackview.qml +++ b/tests/auto/controls/data/tst_stackview.qml @@ -750,9 +750,13 @@ TestCase { verify(control) ignoreWarning("QQmlComponent: Component is not ready") - control.push("non-existent.qml") + ignoreWarning(Qt.resolvedUrl("non-existent.qml") + ":-1 File not found") + control.push(Qt.resolvedUrl("non-existent.qml")) + ignoreWarning("QQmlComponent: Component is not ready") - control.replace("non-existent.qml") + ignoreWarning(Qt.resolvedUrl("non-existent.qml") + ":-1 File not found") + control.replace(Qt.resolvedUrl("non-existent.qml")) + control.pop() control.destroy() |