diff --git a/libraries/script-engine/src/ScriptEngine.cpp b/libraries/script-engine/src/ScriptEngine.cpp index 78a0ad2d19..960b3c6d90 100644 --- a/libraries/script-engine/src/ScriptEngine.cpp +++ b/libraries/script-engine/src/ScriptEngine.cpp @@ -874,6 +874,7 @@ QUrl ScriptEngine::resolvePath(const QString& include) const { } // at this point we should have a legitimate fully qualified URL for our parent + qDebug() << "ScriptEngine::resolvePath" << parentURL << url; url = expandScriptUrl(parentURL.resolved(url)); return url; } diff --git a/libraries/script-engine/src/ScriptEngines.cpp b/libraries/script-engine/src/ScriptEngines.cpp index aed2d15a1a..3f2e0aa908 100644 --- a/libraries/script-engine/src/ScriptEngines.cpp +++ b/libraries/script-engine/src/ScriptEngines.cpp @@ -89,13 +89,7 @@ QUrl expandScriptUrl(const QUrl& rawScriptURL) { // stop something like Script.include(["/~/../Desktop/naughty.js"]); from working QFileInfo fileInfo(url.toLocalFile()); - #if defined(Q_OS_WIN) - url = QUrl::fromLocalFile(fileInfo.canonicalFilePath().toLower()); - #elif defined(Q_OS_OSX) - url = QUrl::fromLocalFile(fileInfo.canonicalFilePath().toLower()); - #else url = QUrl::fromLocalFile(fileInfo.canonicalFilePath()); - #endif QUrl defaultScriptsLoc = defaultScriptsLocation(); if (!defaultScriptsLoc.isParentOf(url)) { @@ -105,6 +99,9 @@ QUrl expandScriptUrl(const QUrl& rawScriptURL) { << defaultScriptsLoc.path(); return rawScriptURL; } + if (rawScriptURL.path().endsWith("/") && !url.path().endsWith("/")) { + url.setPath(url.path() + "/"); + } return url; } return normalizedScriptURL; diff --git a/libraries/shared/src/PathUtils.cpp b/libraries/shared/src/PathUtils.cpp index 025768908c..954ed2d75a 100644 --- a/libraries/shared/src/PathUtils.cpp +++ b/libraries/shared/src/PathUtils.cpp @@ -56,12 +56,15 @@ QString findMostRecentFileExtension(const QString& originalFileName, QVector