History

Rework old fix for Script Editor Script.stop() crash

David Rowe committed 12 years ago

Commit 74200781 parent 48fb1563 files · +6 −13Browse files

Showing the changes to interface/src/ui/ScriptEditorWidget.cpp (1 of 3 files). Show all

Unified · Split

interface/src/ui/ScriptEditorWidget.cpp+5−12
@@ -59,12 +59,8 @@ void ScriptEditorWidget::onScriptModified() { · 58 unmodified lines
5959 }
6060 }
6161
62−void ScriptEditorWidget::onScriptEnding() {
63− // signals will automatically be disonnected when the _scriptEngine is deleted later
64− _scriptEngine = NULL;
65−}
66−
6762 void ScriptEditorWidget::onScriptFinished(const QString& scriptPath) {
63+ _scriptEngine = NULL;
6864 if (_isRestarting) {
6965 _isRestarting = false;
7066 setRunning(true);
@@ -84,23 +80,20 @@ bool ScriptEditorWidget::setRunning(bool run) { · 13 unmodified lines
8480 return false;
8581 }
8682
87− // Clean-up old connections.
8883 if (_scriptEngine != NULL) {
8984 disconnect(_scriptEngine, &ScriptEngine::runningStateChanged, this, &ScriptEditorWidget::runningStateChanged);
9085 disconnect(_scriptEngine, &ScriptEngine::errorMessage, this, &ScriptEditorWidget::onScriptError);
9186 disconnect(_scriptEngine, &ScriptEngine::printedMessage, this, &ScriptEditorWidget::onScriptPrint);
92− disconnect(_scriptEngine, &ScriptEngine::scriptEnding, this, &ScriptEditorWidget::onScriptEnding);
87+ disconnect(_scriptEngine, &ScriptEngine::finished, this, &ScriptEditorWidget::onScriptFinished);
9388 }
9489
9590 if (run) {
9691 const QString& scriptURLString = QUrl(_currentScript).toString();
9792 _scriptEngine = Application::getInstance()->loadScript(scriptURLString, true);
9893 connect(_scriptEngine, &ScriptEngine::runningStateChanged, this, &ScriptEditorWidget::runningStateChanged);
99−
100− // Make new connections.
10194 connect(_scriptEngine, &ScriptEngine::errorMessage, this, &ScriptEditorWidget::onScriptError);
10295 connect(_scriptEngine, &ScriptEngine::printedMessage, this, &ScriptEditorWidget::onScriptPrint);
103− connect(_scriptEngine, &ScriptEngine::scriptEnding, this, &ScriptEditorWidget::onScriptEnding);
96+ connect(_scriptEngine, &ScriptEngine::finished, this, &ScriptEditorWidget::onScriptFinished);
10497 } else {
10598 connect(_scriptEngine, &ScriptEngine::finished, this, &ScriptEditorWidget::onScriptFinished);
10699 Application::getInstance()->stopScript(_currentScript);
@@ -144,7 +137,7 @@ void ScriptEditorWidget::loadFile(const QString& scriptPath) { · 37 unmodified lines
144137 disconnect(_scriptEngine, &ScriptEngine::runningStateChanged, this, &ScriptEditorWidget::runningStateChanged);
145138 disconnect(_scriptEngine, &ScriptEngine::errorMessage, this, &ScriptEditorWidget::onScriptError);
146139 disconnect(_scriptEngine, &ScriptEngine::printedMessage, this, &ScriptEditorWidget::onScriptPrint);
147− disconnect(_scriptEngine, &ScriptEngine::scriptEnding, this, &ScriptEditorWidget::onScriptEnding);
140+ disconnect(_scriptEngine, &ScriptEngine::finished, this, &ScriptEditorWidget::onScriptFinished);
148141 }
149142 } else {
150143 QNetworkAccessManager* networkManager = new QNetworkAccessManager(this);
@@ -165,7 +158,7 @@ void ScriptEditorWidget::loadFile(const QString& scriptPath) { · 14 unmodified lines
165158 connect(_scriptEngine, &ScriptEngine::runningStateChanged, this, &ScriptEditorWidget::runningStateChanged);
166159 connect(_scriptEngine, &ScriptEngine::errorMessage, this, &ScriptEditorWidget::onScriptError);
167160 connect(_scriptEngine, &ScriptEngine::printedMessage, this, &ScriptEditorWidget::onScriptPrint);
168− connect(_scriptEngine, &ScriptEngine::scriptEnding, this, &ScriptEditorWidget::onScriptEnding);
161+ connect(_scriptEngine, &ScriptEngine::finished, this, &ScriptEditorWidget::onScriptFinished);
169162 }
170163 }
171164