From bbd7174d06dd7ad82403909718ccf889fcfb910e Mon Sep 17 00:00:00 2001 From: Ryan Huffman Date: Thu, 6 Oct 2016 17:37:47 -0700 Subject: [PATCH] Fix script paths not resolving correctly --- libraries/script-engine/src/ScriptEngine.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/libraries/script-engine/src/ScriptEngine.cpp b/libraries/script-engine/src/ScriptEngine.cpp index 18d7b0ebf1..f0896565a3 100644 --- a/libraries/script-engine/src/ScriptEngine.cpp +++ b/libraries/script-engine/src/ScriptEngine.cpp @@ -107,6 +107,7 @@ void inputControllerFromScriptValue(const QScriptValue &object, controller::Inpu out = qobject_cast(object.toQObject()); } +// FIXME Come up with a way to properly encode entity IDs in filename // The purpose of the following two function is to embed entity ids into entity script filenames // so that they show up in stacktraces // @@ -1113,9 +1114,10 @@ QUrl ScriptEngine::resolvePath(const QString& include) const { QScriptContextInfo contextInfo { currentContext()->parentContext() }; + // we apparently weren't a fully qualified url, so, let's assume we're relative // to the original URL of our script - QUrl parentURL = extractUrlFromEntityUrl(contextInfo.fileName()); + QUrl parentURL = contextInfo.fileName(); if (parentURL.isEmpty()) { if (_parentURL.isEmpty()) { parentURL = QUrl(_fileNameString); @@ -1348,7 +1350,7 @@ void ScriptEngine::entityScriptContentAvailable(const EntityItemID& entityID, co auto scriptCache = DependencyManager::get(); bool isFileUrl = isURL && scriptOrURL.startsWith("file://"); - auto fileName = isURL ? encodeEntityIdIntoEntityUrl(scriptOrURL, entityID.toString()) : "EmbeddedEntityScript"; + auto fileName = isURL ? scriptOrURL : "EmbeddedEntityScript"; QScriptProgram program(contents, fileName); if (!hasCorrectSyntax(program)) {