From 8d6270392d940e96faf93718bafc62ef0489f4a5 Mon Sep 17 00:00:00 2001 From: Dale Glass Date: Sun, 5 Mar 2023 13:43:12 +0100 Subject: [PATCH] Make ScriptEngine a QObject instead of the derived class Fix signal -- only needs to be in ScriptEngine --- libraries/script-engine/src/ScriptEngine.h | 3 ++- libraries/script-engine/src/v8/ScriptEngineV8.h | 9 +-------- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/libraries/script-engine/src/ScriptEngine.h b/libraries/script-engine/src/ScriptEngine.h index bbefed3147..a69376a461 100644 --- a/libraries/script-engine/src/ScriptEngine.h +++ b/libraries/script-engine/src/ScriptEngine.h @@ -71,7 +71,8 @@ inline T scriptvalue_cast(const ScriptValue& value); * To inject an exception into the running script, use raiseException(). This may result in the script * not capturing it and an uncaughtException happening as a result. */ -class ScriptEngine { +class ScriptEngine : public QObject { + Q_OBJECT public: ScriptEngine(ScriptManager *manager = nullptr) : _manager(manager) { diff --git a/libraries/script-engine/src/v8/ScriptEngineV8.h b/libraries/script-engine/src/v8/ScriptEngineV8.h index 7387df80b4..b701eddc36 100644 --- a/libraries/script-engine/src/v8/ScriptEngineV8.h +++ b/libraries/script-engine/src/v8/ScriptEngineV8.h @@ -57,7 +57,7 @@ const double GARBAGE_COLLECTION_TIME_LIMIT_S = 1.0; Q_DECLARE_METATYPE(ScriptEngine::FunctionSignature) /// [V8] Implements ScriptEngine for V8 and translates calls for QScriptEngine -class ScriptEngineV8 final : public QObject, public ScriptEngine, +class ScriptEngineV8 final : public ScriptEngine, public std::enable_shared_from_this { Q_OBJECT @@ -215,13 +215,6 @@ protected: const ValueOwnership& ownership = AutoOwnership);*/ void registerSystemTypes(); -signals: - /** - * @brief The script being run threw an exception - * - * @param exception Exception that was thrown - */ - void exception(std::shared_ptr exception); protected: static QMutex _v8InitMutex;