From f8e4ff8072409e5fad07d4b1ca9682eb74755e58 Mon Sep 17 00:00:00 2001 From: Ryan Huffman Date: Wed, 15 Apr 2015 09:54:30 -0700 Subject: [PATCH 1/2] Update Application:stopAllScripts to skip finished scripts --- interface/src/Application.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 4892019ae5..4328be21b4 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -3889,6 +3889,9 @@ void Application::stopAllScripts(bool restart) { // stops all current running scripts for (QHash::const_iterator it = _scriptEnginesHash.constBegin(); it != _scriptEnginesHash.constEnd(); it++) { + if (it.value()->isFinished()) { + continue; + } if (restart && it.value()->isUserLoaded()) { connect(it.value(), SIGNAL(finished(const QString&)), SLOT(loadScript(const QString&))); } From 2e61ef01daf61ca39fc265d2214c1c6b36112f04 Mon Sep 17 00:00:00 2001 From: Ryan Huffman Date: Wed, 15 Apr 2015 09:55:36 -0700 Subject: [PATCH 2/2] Update ScriptEngin::stop to only take effect when not finished --- 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 2f9427a63d..ac2c212001 100644 --- a/libraries/script-engine/src/ScriptEngine.cpp +++ b/libraries/script-engine/src/ScriptEngine.cpp @@ -647,8 +647,10 @@ void ScriptEngine::stopAllTimers() { } void ScriptEngine::stop() { - _isFinished = true; - emit runningStateChanged(); + if (!_isFinished) { + _isFinished = true; + emit runningStateChanged(); + } } void ScriptEngine::timerFired() {