From 8b4b95f89021610ab3acef5e04dbd0fa53d5c0fc Mon Sep 17 00:00:00 2001 From: Dante Ruiz Date: Thu, 14 Jun 2018 14:00:40 -0700 Subject: [PATCH] prevent have more than one instance of a script after reloading script --- libraries/script-engine/src/ScriptEngines.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/libraries/script-engine/src/ScriptEngines.cpp b/libraries/script-engine/src/ScriptEngines.cpp index ad6e1debe9..0a4834fd8d 100644 --- a/libraries/script-engine/src/ScriptEngines.cpp +++ b/libraries/script-engine/src/ScriptEngines.cpp @@ -432,10 +432,13 @@ bool ScriptEngines::stopScript(const QString& rawScriptURL, bool restart) { ScriptEngine::Type type = scriptEngine->getType(); auto scriptCache = DependencyManager::get(); scriptCache->deleteScript(scriptURL); - connect(scriptEngine.data(), &ScriptEngine::finished, - this, [this, isUserLoaded, type](QString scriptName, ScriptEnginePointer engine) { - reloadScript(scriptName, isUserLoaded)->setType(type); - }); + + if (!scriptEngine->isStopping()) { + connect(scriptEngine.data(), &ScriptEngine::finished, + this, [this, isUserLoaded, type](QString scriptName, ScriptEnginePointer engine) { + reloadScript(scriptName, isUserLoaded)->setType(type); + }); + } } scriptEngine->stop(); stoppedScript = true;