From ce3bcf84650ba30f69a29d2d3c9d4fafefea45e0 Mon Sep 17 00:00:00 2001 From: Alan Alpert Date: Wed, 15 May 2013 15:50:22 -0700 Subject: 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 --- src/qml/qml/v4/qv4irbuilder.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/qml') 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) { -- cgit v1.2.3