mirror of
https://github.com/overte-org/overte.git
synced 2025-08-10 03:19:24 +02:00
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:
commit
516acee1c7
2 changed files with 7 additions and 2 deletions
|
@ -3867,6 +3867,9 @@ void Application::stopAllScripts(bool restart) {
|
||||||
// stops all current running scripts
|
// stops all current running scripts
|
||||||
for (QHash<QString, ScriptEngine*>::const_iterator it = _scriptEnginesHash.constBegin();
|
for (QHash<QString, ScriptEngine*>::const_iterator it = _scriptEnginesHash.constBegin();
|
||||||
it != _scriptEnginesHash.constEnd(); it++) {
|
it != _scriptEnginesHash.constEnd(); it++) {
|
||||||
|
if (it.value()->isFinished()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
if (restart && it.value()->isUserLoaded()) {
|
if (restart && it.value()->isUserLoaded()) {
|
||||||
connect(it.value(), SIGNAL(finished(const QString&)), SLOT(loadScript(const QString&)));
|
connect(it.value(), SIGNAL(finished(const QString&)), SLOT(loadScript(const QString&)));
|
||||||
}
|
}
|
||||||
|
|
|
@ -647,8 +647,10 @@ void ScriptEngine::stopAllTimers() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void ScriptEngine::stop() {
|
void ScriptEngine::stop() {
|
||||||
_isFinished = true;
|
if (!_isFinished) {
|
||||||
emit runningStateChanged();
|
_isFinished = true;
|
||||||
|
emit runningStateChanged();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ScriptEngine::timerFired() {
|
void ScriptEngine::timerFired() {
|
||||||
|
|
Loading…
Reference in a new issue