From 33b4b15a60f03b21ce37120f352603dc44160b3f Mon Sep 17 00:00:00 2001
From: Roberto Raggi <roberto.raggi@nokia.com>
Date: Mon, 15 Feb 2010 14:07:35 +0100
Subject: [PATCH] Check the file's mimetype before creating QML/JS documents.

---
 src/plugins/qmljseditor/qmljsmodelmanager.cpp | 21 ++++++++++++-------
 1 file changed, 14 insertions(+), 7 deletions(-)

diff --git a/src/plugins/qmljseditor/qmljsmodelmanager.cpp b/src/plugins/qmljseditor/qmljsmodelmanager.cpp
index 2deaef8fba2..d4d553041d8 100644
--- a/src/plugins/qmljseditor/qmljsmodelmanager.cpp
+++ b/src/plugins/qmljseditor/qmljsmodelmanager.cpp
@@ -148,6 +148,18 @@ void ModelManager::parse(QFutureInterface<void> &future,
         future.setProgressValue(i);
 
         const QString fileName = files.at(i);
+
+        const QFileInfo fileInfo(fileName);
+        Core::MimeType fileMimeTy = db->findByFile(fileInfo);
+
+        bool isQmlFile = true;
+
+        if (matchesMimeType(fileMimeTy, jsSourceTy))
+            isQmlFile = false;
+
+        else if (! matchesMimeType(fileMimeTy, qmlSourceTy))
+            continue; // skip it. it's not a QML or a JS file.
+
         QString contents;
         int documentRevision = 0;
 
@@ -169,15 +181,10 @@ void ModelManager::parse(QFutureInterface<void> &future,
         doc->setDocumentRevision(documentRevision);
         doc->setSource(contents);
 
-        const QFileInfo fileInfo(fileName);
-        Core::MimeType fileMimeTy = db->findByFile(fileInfo);
-
-        if (matchesMimeType(fileMimeTy, jsSourceTy))
-            doc->parseJavaScript();
-        else if (matchesMimeType(fileMimeTy, qmlSourceTy))
+        if (isQmlFile)
             doc->parseQml();
         else
-            qWarning() << "Don't know how to treat" << fileName;
+            doc->parseJavaScript();
 
         modelManager->emitDocumentUpdated(doc);
     }
-- 
GitLab