Showing the changes to libraries/script-engine/src/ScriptEngine.cpp (1 of 8 files). Show all
Unified · Split
| @@ -94,6 +94,7 @@ ScriptEngine::ScriptEngine(const QString& scriptContents, const QString& fileNam · 93 unmodified lines | ||
| 94 | 94 | _vec3Library(), |
| 95 | 95 | _uuidLibrary(), |
| 96 | 96 | _isUserLoaded(false), |
| 97 | + _isReloading(false), | |
| 97 | 98 | _arrayBufferClass(new ArrayBufferClass(this)) |
| 98 | 99 | { |
| 99 | 100 | _allScriptsMutex.lock(); |
| @@ -251,12 +252,13 @@ bool ScriptEngine::setScriptContents(const QString& scriptContents, const QStrin · 151 unmodified lines | ||
| 251 | 252 | return true; |
| 252 | 253 | } |
| 253 | 254 | |
| 254 | −void ScriptEngine::loadURL(const QUrl& scriptURL) { | |
| 255 | +void ScriptEngine::loadURL(const QUrl& scriptURL, bool reload) { | |
| 255 | 256 | if (_isRunning) { |
| 256 | 257 | return; |
| 257 | 258 | } |
| 258 | 259 | |
| 259 | 260 | _fileNameString = scriptURL.toString(); |
| 261 | + _isReloading = reload; | |
| 260 | 262 | |
| 261 | 263 | QUrl url(scriptURL); |
| 262 | 264 | |
| @@ -283,8 +285,7 @@ void ScriptEngine::loadURL(const QUrl& scriptURL) { · 20 unmodified lines | ||
| 283 | 285 | } else { |
| 284 | 286 | bool isPending; |
| 285 | 287 | auto scriptCache = DependencyManager::get<ScriptCache>(); |
| 286 | − scriptCache->getScript(url, this, isPending); | |
| 287 | − | |
| 288 | + scriptCache->getScript(url, this, isPending, reload); | |
| 288 | 289 | } |
| 289 | 290 | } |
| 290 | 291 | } |
| @@ -901,7 +902,13 @@ void ScriptEngine::load(const QString& loadFile) { · 610 unmodified lines | ||
| 901 | 902 | } |
| 902 | 903 | |
| 903 | 904 | QUrl url = resolvePath(loadFile); |
| 904 | − emit loadScript(url.toString(), false); | |
| 905 | + if (_isReloading) { | |
| 906 | + auto scriptCache = DependencyManager::get<ScriptCache>(); | |
| 907 | + scriptCache->deleteScript(url.toString()); | |
| 908 | + emit reloadScript(url.toString(), false); | |
| 909 | + } else { | |
| 910 | + emit loadScript(url.toString(), false); | |
| 911 | + } | |
| 905 | 912 | } |
| 906 | 913 | |
| 907 | 914 | void ScriptEngine::nodeKilled(SharedNodePointer node) { |