History

prevent Script.include() from including the same file multiple times

Brad Hefta-Gaub committed 11 years ago

Commit ede0a391 parent e8fca7f2 files · +9 −1Browse files

Showing the changes to libraries/script-engine/src/ScriptEngine.cpp (1 of 2 files). Show all

Unified · Split

libraries/script-engine/src/ScriptEngine.cpp+7−1
@@ -860,7 +860,12 @@ void ScriptEngine::include(const QStringList& includeFiles, QScriptValue callbac · 859 unmodified lines
860 }860 }
861 QList<QUrl> urls;861 QList<QUrl> urls;
862 for (QString file : includeFiles) {862 for (QString file : includeFiles) {
863 urls.append(resolvePath(file));863 QUrl thisURL { resolvePath(file) };
864 if (!_includedURLs.contains(thisURL)) {
865 urls.append(thisURL);
866 } else {
867 qCDebug(scriptengine) << "Script.include() ignoring previously included url:" << thisURL;
868 }
864 }869 }
865 870
866 BatchLoader* loader = new BatchLoader(urls);871 BatchLoader* loader = new BatchLoader(urls);
@@ -871,6 +876,7 @@ void ScriptEngine::include(const QStringList& includeFiles, QScriptValue callbac · 4 unmodified lines
871 if (contents.isNull()) {876 if (contents.isNull()) {
872 qCDebug(scriptengine) << "Error loading file: " << url << "line:" << __LINE__;877 qCDebug(scriptengine) << "Error loading file: " << url << "line:" << __LINE__;
873 } else {878 } else {
879 _includedURLs << url;
874 QScriptValue result = evaluate(contents, url.toString());880 QScriptValue result = evaluate(contents, url.toString());
875 }881 }
876 }882 }