aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml
diff options
context:
space:
mode:
authorAlan Alpert <aalpert@blackberry.com>2013-05-15 15:50:22 -0700
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-05-16 19:04:30 +0200
commitce3bcf84650ba30f69a29d2d3c9d4fafefea45e0 (patch)
tree605c841d8b17a691fcec905ba2fc711cdeb5aa8d /src/qml
parent392e8e1558f18ae07a0c05ace948ef732a66375e (diff)
Assert instead of crashing
Using a singleton (at least a QJSValue one) improperly leads to a crash. Assert with an explanatory comment is a low-cost improvement until better capitalization checking is implemented. Task-number: QTBUG-30090 Change-Id: I237a1dd2aab743ae1f09e8d653aa5aeb4bd0240f Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/qml')
-rw-r--r--src/qml/qml/v4/qv4irbuilder.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/qml/qml/v4/qv4irbuilder.cpp b/src/qml/qml/v4/qv4irbuilder.cpp
index 4aa257d54a..d217a01105 100644
--- a/src/qml/qml/v4/qv4irbuilder.cpp
+++ b/src/qml/qml/v4/qv4irbuilder.cpp
@@ -638,6 +638,10 @@ bool QV4IRBuilder::visit(AST::FieldMemberExpression *ast)
QByteArray utf8Name = name.toUtf8();
const char *enumName = utf8Name.constData();
+ //Happens in some cases where they make properties with uppercase names
+ Q_ASSERT_X(baseName->meta.propertyCache(m_engine), "QML compiler",
+ QString("Error resolving enum \"%1\"").arg(name).toLatin1().constData());
+
const QMetaObject *meta = baseName->meta.propertyCache(m_engine)->firstCppMetaObject();
bool found = false;
for (int ii = 0; !found && ii < meta->enumeratorCount(); ++ii) {