History

fix realod all scripts functionality

Dante Ruiz committed 7 years ago

Commit 177a94b1 parent fb3cdab1 file · +6 −6Browse files

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

Unified · Split

libraries/script-engine/src/ScriptEngines.cpp+6−6
@@ -31,6 +31,8 @@ static const QUrl DEFAULT_SCRIPTS_LOCATION { "file:///~//defaultScripts.js" }; · 30 unmodified lines
3131 // Using a QVariantList so this is human-readable in the settings file
3232 static Setting::Handle<QVariantList> runningScriptsHandle(SETTINGS_KEY, { QVariant(DEFAULT_SCRIPTS_LOCATION) });
3333
34+const int RELOAD_ALL_SCRIPTS_TIMEOUT = 1000;
35+
3436
3537 ScriptsModel& getScriptsModel() {
3638 static ScriptsModel scriptsModel;
@@ -386,15 +388,10 @@ void ScriptEngines::stopAllScripts(bool restart) { · 349 unmodified lines
386388 // queue user scripts if restarting
387389 if (restart && scriptEngine->isUserLoaded()) {
388390 _isReloading = true;
389− bool lastScript = (it == _scriptEnginesHash.constEnd() - 1);
390391 ScriptEngine::Type type = scriptEngine->getType();
391392
392− connect(scriptEngine.data(), &ScriptEngine::finished, this, [this, type, lastScript] (QString scriptName) {
393+ connect(scriptEngine.data(), &ScriptEngine::finished, this, [this, type] (QString scriptName) {
393394 reloadScript(scriptName, true)->setType(type);
394−
395− if (lastScript) {
396− _isReloading = false;
397− }
398395 });
399396 }
400397
@@ -404,6 +401,9 @@ void ScriptEngines::stopAllScripts(bool restart) { · 3 unmodified lines
404401
405402 if (restart) {
406403 qCDebug(scriptengine) << "stopAllScripts -- emitting scriptsReloading";
404+ QTimer::singleShot(RELOAD_ALL_SCRIPTS_TIMEOUT, this, [&] {
405+ _isReloading = false;
406+ });
407407 emit scriptsReloading();
408408 }
409409 }

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t