diff options
author | Alan Alpert <aalpert@blackberry.com> | 2013-05-15 15:50:22 -0700 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-05-16 19:04:30 +0200 |
commit | ce3bcf84650ba30f69a29d2d3c9d4fafefea45e0 (patch) | |
tree | 605c841d8b17a691fcec905ba2fc711cdeb5aa8d /src/qml | |
parent | 392e8e1558f18ae07a0c05ace948ef732a66375e (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.cpp | 4 |
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) { |