History

Merge remote-tracking branch 'upstream/master' into dk/scriptsSwitch

David Kelly committed 9 years ago

Commit 06d1ac82 parents ff5b37c a2fa1cd28 files · +495 −145Browse files

Showing the changes to libraries/script-engine/src/ScriptEngines.cpp (1 of 28 files). Show all

Unified · Split

libraries/script-engine/src/ScriptEngines.cpp+9−1
@@ -363,6 +363,13 @@ QStringList ScriptEngines::getRunningScripts() { · 362 unmodified lines
363363 void ScriptEngines::stopAllScripts(bool restart) {
364364 QVector<QString> toReload;
365365 QReadLocker lock(&_scriptEnginesHashLock);
366+
367+ if (_isReloading) {
368+ return;
369+ } else {
370+ _isReloading = true;
371+ }
372+
366373 for (QHash<QUrl, ScriptEngine*>::const_iterator it = _scriptEnginesHash.constBegin();
367374 it != _scriptEnginesHash.constEnd(); it++) {
368375 ScriptEngine *scriptEngine = it.value();
@@ -382,7 +389,7 @@ void ScriptEngines::stopAllScripts(bool restart) { · 13 unmodified lines
382389 }
383390 // wait for engines to stop (ie: providing time for .scriptEnding cleanup handlers to run) before
384391 // triggering reload of any Client scripts / Entity scripts
385− QTimer::singleShot(500, this, [=]() {
392+ QTimer::singleShot(1000, this, [=]() {
386393 for(const auto &scriptName : toReload) {
387394 auto scriptEngine = getScriptEngine(scriptName);
388395 if (scriptEngine && !scriptEngine->isFinished()) {
@@ -397,6 +404,7 @@ void ScriptEngines::stopAllScripts(bool restart) { · 8 unmodified lines
397404 qCDebug(scriptengine) << "stopAllScripts -- emitting scriptsReloading";
398405 emit scriptsReloading();
399406 }
407+ _isReloading = false;
400408 });
401409 }
402410