Showing the changes to libraries/script-engine/src/ScriptEngine.cpp (1 of 8 files). Show all
Unified · Split
| @@ -111,12 +111,14 @@ static QScriptValue debugPrint(QScriptContext* context, QScriptEngine* engine) { · 110 unmodified lines | ||
| 111 | 111 | return QScriptValue(); |
| 112 | 112 | } |
| 113 | 113 | |
| 114 | −QScriptValue avatarDataToScriptValue(QScriptEngine* engine, AvatarData* const &in) { | |
| 115 | − return engine->newQObject(in, QScriptEngine::ScriptOwnership, DEFAULT_QOBJECT_WRAP_OPTIONS); | |
| 114 | +QScriptValue avatarDataToScriptValue(QScriptEngine* engine, const AvatarSharedPointer& in) { | |
| 115 | + return engine->newQObject(new AvatarDataScriptingInterface(in), QScriptEngine::ScriptOwnership); | |
| 116 | 116 | } |
| 117 | 117 | |
| 118 | 118 | void avatarDataFromScriptValue(const QScriptValue &object, AvatarData* &out) { |
| 119 | − out = qobject_cast<AvatarData*>(object.toQObject()); | |
| 119 | + if (auto avatarDataInterface = qobject_cast<AvatarDataScriptingInterface*>(object.toQObject())) { | |
| 120 | + out = avatarDataInterface->getAvatarData(); | |
| 121 | + } | |
| 120 | 122 | } |
| 121 | 123 | |
| 122 | 124 | Q_DECLARE_METATYPE(controller::InputController*) |