History

Add custom evaluation of commands in ScriptEngine

Ryan Huffman committed 12 years ago

Commit 8aa9cea1 parent 3d28cff2 files · +14 −0Browse files

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

Unified · Split

libraries/script-engine/src/ScriptEngine.cpp+12−0
@@ -304,6 +304,18 @@ void ScriptEngine::evaluate() { · 303 unmodified lines
304304 }
305305 }
306306
307+QScriptValue ScriptEngine::evaluate(const QString& program, const QString& fileName, int lineNumber) {
308+ QScriptValue result = _engine.evaluate(program, fileName, lineNumber);
309+ bool hasUncaughtException = _engine.hasUncaughtException();
310+ if (hasUncaughtException) {
311+ int line = _engine.uncaughtExceptionLineNumber();
312+ qDebug() << "Uncaught exception at line" << line << ": " << result.toString();
313+ }
314+ emit evaluationFinished(result, hasUncaughtException);
315+ _engine.clearExceptions();
316+ return result;
317+}
318+
307319 void ScriptEngine::sendAvatarIdentityPacket() {
308320 if (_isAvatar && _avatarData) {
309321 _avatarData->sendIdentityPacket();