diff --git a/src/libs/qmljs/qmljsfindexportedcpptypes.cpp b/src/libs/qmljs/qmljsfindexportedcpptypes.cpp index ff82a56cd54..e1c4d55de70 100644 --- a/src/libs/qmljs/qmljsfindexportedcpptypes.cpp +++ b/src/libs/qmljs/qmljsfindexportedcpptypes.cpp @@ -31,6 +31,7 @@ #include #include #include +#include #include @@ -819,6 +820,8 @@ FindExportedCppTypes::FindExportedCppTypes(const CPlusPlus::Snapshot &snapshot) QStringList FindExportedCppTypes::operator()(const CPlusPlus::Document::Ptr &document) { + QTC_ASSERT(!document.isNull(), return QStringList()); + m_contextProperties.clear(); m_exportedTypes.clear(); QStringList fileNames; diff --git a/src/libs/qmljs/qmljsmodelmanagerinterface.cpp b/src/libs/qmljs/qmljsmodelmanagerinterface.cpp index a919087fea6..bdd6e6eeab2 100644 --- a/src/libs/qmljs/qmljsmodelmanagerinterface.cpp +++ b/src/libs/qmljs/qmljsmodelmanagerinterface.cpp @@ -1321,7 +1321,10 @@ void ModelManagerInterface::updateCppQmlTypes(QFutureInterface &interface, if (!scan) { hasNewInfo = newData.remove(fileName) > 0 || hasNewInfo; foreach (const QString &file, newDeclarations[fileName]) { - finder(snapshot.document(file)); + CPlusPlus::Document::Ptr doc = snapshot.document(file); + if (doc.isNull()) + continue; + finder(doc); hasNewInfo = rescanExports(file, finder, newData) || hasNewInfo; } continue;