History

Partial fix for asset scripting crash

ksuprynowicz committed 3 years ago

Commit e14ae4a1 parent e75c6711 file · +3 −0Browse files

Showing the changes to libraries/script-engine/src/AssetScriptingInterface.cpp (1 of 1 file). Show all

Unified · Split

libraries/script-engine/src/AssetScriptingInterface.cpp+3−0
@@ -245,6 +245,8 @@ void AssetScriptingInterface::jsCallback(const ScriptValue& handler, · 244 unmodified lines
245245 const ScriptValue& error, const ScriptValue& result) {
246246 Q_ASSERT(thread() == QThread::currentThread());
247247 Q_ASSERT(engine);
248+ //V8TODO: which kind of script context guard needs to be used here?
249+ ScriptContextGuard scriptContextGuard(engine()->currentContext());
248250 auto errorValue = !error.toBool() ? engine()->nullValue() : error;
249251 JS_VERIFY(handler.isObject() && handler.property("callback").isFunction(),
250252 QString("jsCallback -- .callback is not a function (%1)")
@@ -257,6 +259,7 @@ void AssetScriptingInterface::jsCallback(const ScriptValue& handler, · 6 unmodified lines
257259 Q_ASSERT(thread() == QThread::currentThread());
258260 Q_ASSERT(handler.engine());
259261 auto engine = handler.engine();
262+
260263 jsCallback(handler, error, engine->toScriptValue(result));
261264 }
262265