From 4e91765a3f4adfc4760fac8349829e1bc6fec928 Mon Sep 17 00:00:00 2001 From: ksuprynowicz Date: Sat, 4 Mar 2023 00:41:31 +0100 Subject: [PATCH] Reverted change that broke AnimationObjec scripting interface --- libraries/script-engine/src/v8/ScriptEngineV8_cast.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/libraries/script-engine/src/v8/ScriptEngineV8_cast.cpp b/libraries/script-engine/src/v8/ScriptEngineV8_cast.cpp index 74016eac65..af5778c871 100644 --- a/libraries/script-engine/src/v8/ScriptEngineV8_cast.cpp +++ b/libraries/script-engine/src/v8/ScriptEngineV8_cast.cpp @@ -755,9 +755,8 @@ V8ScriptValue ScriptEngineV8::castVariantToValue(const QVariant& val) { } default: // check to see if this is a pointer to a QObject-derived object - // V8TODO: I added WeakPointerToQObject and SharedPointerToQObject here, but maybe they need different object ownership? - if (QMetaType::typeFlags(valTypeId) & (QMetaType::PointerToQObject | QMetaType::TrackingPointerToQObject - | QMetaType::WeakPointerToQObject | QMetaType::SharedPointerToQObject)) { + // V8TODO: WeakPointerToQObject and SharedPointerToQObject were causing trouble here because some values are handled by custom prototypes instead + if (QMetaType::typeFlags(valTypeId) & (QMetaType::PointerToQObject | QMetaType::TrackingPointerToQObject)) { QObject* obj = val.value(); if (obj == nullptr) return V8ScriptValue(this, v8::Null(_v8Isolate)); return ScriptObjectV8Proxy::newQObject(this, obj);