Showing the changes to libraries/script-engine/src/ScriptEngine.cpp (1 of 2 files). Show all
Unified · Split
| @@ -860,7 +860,12 @@ void ScriptEngine::include(const QStringList& includeFiles, QScriptValue callbac · 859 unmodified lines | ||
| 860 | 860 | } |
| 861 | 861 | QList<QUrl> urls; |
| 862 | 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 | 871 | BatchLoader* loader = new BatchLoader(urls); |
| @@ -871,6 +876,7 @@ void ScriptEngine::include(const QStringList& includeFiles, QScriptValue callbac · 4 unmodified lines | ||
| 871 | 876 | if (contents.isNull()) { |
| 872 | 877 | qCDebug(scriptengine) << "Error loading file: " << url << "line:" << __LINE__; |
| 873 | 878 | } else { |
| 879 | + _includedURLs << url; | |
| 874 | 880 | QScriptValue result = evaluate(contents, url.toString()); |
| 875 | 881 | } |
| 876 | 882 | } |