aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@theqtcompany.com>2015-12-15 22:01:44 +0100
committerJ-P Nurmi <jpnurmi@theqtcompany.com>2015-12-16 12:41:01 +0000
commit0cb672de5c87e3af1b80bbe89f1140e4e2623673 (patch)
treeb0a4fdb35dabbc944dc966e828f2fa23cb423820
parent693b4001df440f7e629ad7f7c5c772e251e0be59 (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.cpp2
-rw-r--r--tests/auto/controls/data/tst_stackview.qml8
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()