diff --git a/libraries/script-engine/src/ScriptEngine.cpp b/libraries/script-engine/src/ScriptEngine.cpp index 6808da2e1a..e679e9f6c5 100644 --- a/libraries/script-engine/src/ScriptEngine.cpp +++ b/libraries/script-engine/src/ScriptEngine.cpp @@ -422,6 +422,12 @@ void ScriptEngine::waitTillDoneRunning() { if (isEvaluating()) { qCWarning(scriptengine) << "Script Engine has been running too long, aborting:" << getFilename(); abortEvaluation(); + } else { + auto context = currentContext(); + if (context) { + qCWarning(scriptengine) << "Script Engine has been running too long, throwing:" << getFilename(); + context->throwError("Timed out during shutdown"); + } } // Wait for the scripting thread to stop running, as @@ -444,9 +450,9 @@ void ScriptEngine::waitTillDoneRunning() { qCWarning(scriptengine) << "Script Engine has been running too long, aborting:" << getFilename(); abortEvaluation(); } else { - qCWarning(scriptengine) << "Script Engine has been running too long, throwing:" << getFilename(); auto context = currentContext(); if (context) { + qCWarning(scriptengine) << "Script Engine has been running too long, throwing:" << getFilename(); context->throwError("Timed out during shutdown"); } }