Merge pull request #4647 from huffman/fix-multiple-scripts-on-restart

Fix stop/reload all scripts affecting already-stopped scripts
This commit is contained in:
Clément Brisset 2015-04-17 16:29:23 +02:00
commit 516acee1c7
2 changed files with 7 additions and 2 deletions

View file

@ -3867,6 +3867,9 @@ void Application::stopAllScripts(bool restart) {
// stops all current running scripts
for (QHash<QString, ScriptEngine*>::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&)));
}

View file

@ -647,8 +647,10 @@ void ScriptEngine::stopAllTimers() {
}
void ScriptEngine::stop() {
_isFinished = true;
emit runningStateChanged();
if (!_isFinished) {
_isFinished = true;
emit runningStateChanged();
}
}
void ScriptEngine::timerFired() {