diff options
author | Samuel Rødal <sroedal@trolltech.com> | 2008-11-28 10:17:16 +0100 |
---|---|---|
committer | Samuel Rødal <sroedal@trolltech.com> | 2008-11-28 10:17:16 +0100 |
commit | 338741702620ffdaa620b17716107917084bf108 (patch) | |
tree | c4876912c186a9673803bf5b8c3ba4f9cf69d68d /mazescene.cpp | |
parent | b16a91ec6150c4137ffde37b4b80c1d8e7482f97 (diff) |
Better handling of long running scripts.
Diffstat (limited to 'mazescene.cpp')
-rw-r--r-- | mazescene.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/mazescene.cpp b/mazescene.cpp index 061892f..261c547 100644 --- a/mazescene.cpp +++ b/mazescene.cpp @@ -819,7 +819,6 @@ ScriptWidget::ScriptWidget(MazeScene *scene, Entity *entity) void ScriptWidget::timerEvent(QTimerEvent *event) { - m_engine->abortEvaluation(); QPointF player = m_scene->cameraPosition(); QPointF entity = m_entity->pos(); @@ -849,9 +848,15 @@ void ScriptWidget::display(QScriptValue value)//const QString &string) void ScriptWidget::updateSource() { + bool wasEvaluating = m_engine->isEvaluating(); + if (wasEvaluating) + m_engine->abortEvaluation(); + m_time.restart(); m_source = m_sourceEdit->toPlainText(); - if (m_engine->canEvaluate(m_source)) + if (wasEvaluating) + m_statusView->setText(QLatin1String("Aborted long running evaluation!")); + else if (m_engine->canEvaluate(m_source)) m_statusView->setText(QLatin1String("Evaluation succeeded")); else m_statusView->setText(QLatin1String("Evaluation failed")); |