summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Kamm <christian.d.kamm@nokia.com>2011-11-21 09:32:32 +0100
committerEike Ziller <eike.ziller@nokia.com>2011-11-21 11:11:37 +0100
commit2e724095c146b9f8bfe5f4594a6250b3cfb2bf11 (patch)
tree8fe70070e5de2645689e3867f6deba43ab35b134
parent589559800506e3ca515955a96ebaec96ff1c2eaa (diff)
downloadqt-creator-2e724095c146b9f8bfe5f4594a6250b3cfb2bf11.tar.gz
QmlJS: Fix crash when reading malformed qmltypes files.
Task-number: QTCREATORBUG-6587 Change-Id: I0b7c65c1d7f613283e447293daf26673e88ba6e7 Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
-rw-r--r--src/libs/qmljs/qmljstypedescriptionreader.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/libs/qmljs/qmljstypedescriptionreader.cpp b/src/libs/qmljs/qmljstypedescriptionreader.cpp
index 1f70fe20a7..b39dc72c67 100644
--- a/src/libs/qmljs/qmljstypedescriptionreader.cpp
+++ b/src/libs/qmljs/qmljstypedescriptionreader.cpp
@@ -145,7 +145,11 @@ void TypeDescriptionReader::readModule(UiObjectDefinition *ast)
for (UiObjectMemberList *it = ast->initializer->members; it; it = it->next) {
UiObjectMember *member = it->member;
UiObjectDefinition *component = dynamic_cast<UiObjectDefinition *>(member);
- const QString typeName = Bind::toString(component->qualifiedTypeNameId);
+
+ QString typeName;
+ if (component)
+ typeName = Bind::toString(component->qualifiedTypeNameId);
+
if (!component || (typeName != "Component" && typeName != "ModuleApi")) {
addWarning(member->firstSourceLocation(), "Expected only 'Component' and 'ModuleApi' object definitions");
continue;