From 94fc84f361c98646eb2b121d4e0af63835775c5b Mon Sep 17 00:00:00 2001 From: ksuprynowicz Date: Wed, 22 Mar 2023 20:40:15 +0100 Subject: [PATCH] Partial fix for asset scripting crash --- libraries/script-engine/src/AssetScriptingInterface.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libraries/script-engine/src/AssetScriptingInterface.cpp b/libraries/script-engine/src/AssetScriptingInterface.cpp index 0406a85f87..ba565617d2 100644 --- a/libraries/script-engine/src/AssetScriptingInterface.cpp +++ b/libraries/script-engine/src/AssetScriptingInterface.cpp @@ -245,6 +245,8 @@ void AssetScriptingInterface::jsCallback(const ScriptValue& handler, const ScriptValue& error, const ScriptValue& result) { Q_ASSERT(thread() == QThread::currentThread()); Q_ASSERT(engine); + //V8TODO: which kind of script context guard needs to be used here? + ScriptContextGuard scriptContextGuard(engine()->currentContext()); auto errorValue = !error.toBool() ? engine()->nullValue() : error; JS_VERIFY(handler.isObject() && handler.property("callback").isFunction(), QString("jsCallback -- .callback is not a function (%1)") @@ -257,6 +259,7 @@ void AssetScriptingInterface::jsCallback(const ScriptValue& handler, Q_ASSERT(thread() == QThread::currentThread()); Q_ASSERT(handler.engine()); auto engine = handler.engine(); + jsCallback(handler, error, engine->toScriptValue(result)); }