From 0f198900482df94d8e885e1ed639d2a9e75e0fac Mon Sep 17 00:00:00 2001 From: Atlante45 Date: Sun, 18 May 2014 19:27:43 -0700 Subject: [PATCH] Fixes filesystem issue between Qt and Windows --- libraries/script-engine/src/ScriptEngine.cpp | 22 ++++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/libraries/script-engine/src/ScriptEngine.cpp b/libraries/script-engine/src/ScriptEngine.cpp index a0ecc88a7b..420529bb6c 100644 --- a/libraries/script-engine/src/ScriptEngine.cpp +++ b/libraries/script-engine/src/ScriptEngine.cpp @@ -608,8 +608,20 @@ void ScriptEngine::include(const QString& includeFile) { QUrl url = resolveInclude(includeFile); QString includeContents; - if (url.scheme() == "file") { + if (url.scheme() == "http" || url.scheme() == "ftp") { + QNetworkAccessManager* networkManager = new QNetworkAccessManager(this); + QNetworkReply* reply = networkManager->get(QNetworkRequest(url)); + qDebug() << "Downloading included script at" << includeFile; + QEventLoop loop; + QObject::connect(reply, SIGNAL(finished()), &loop, SLOT(quit())); + loop.exec(); + includeContents = reply->readAll(); + } else { +#ifdef _WIN32 + QString fileName = url.toString(); +#else QString fileName = url.toLocalFile(); +#endif QFile scriptFile(fileName); if (scriptFile.open(QFile::ReadOnly | QFile::Text)) { qDebug() << "Loading file:" << fileName; @@ -619,14 +631,6 @@ void ScriptEngine::include(const QString& includeFile) { qDebug() << "ERROR Loading file:" << fileName; emit errorMessage("ERROR Loading file:" + fileName); } - } else { - QNetworkAccessManager* networkManager = new QNetworkAccessManager(this); - QNetworkReply* reply = networkManager->get(QNetworkRequest(url)); - qDebug() << "Downloading included script at" << includeFile; - QEventLoop loop; - QObject::connect(reply, SIGNAL(finished()), &loop, SLOT(quit())); - loop.exec(); - includeContents = reply->readAll(); } QScriptValue result = _engine.evaluate(includeContents);