diff options
Diffstat (limited to 'src/qml/qml/v8/qqmlbuiltinfunctions_p.h')
-rw-r--r-- | src/qml/qml/v8/qqmlbuiltinfunctions_p.h | 31 |
1 files changed, 20 insertions, 11 deletions
diff --git a/src/qml/qml/v8/qqmlbuiltinfunctions_p.h b/src/qml/qml/v8/qqmlbuiltinfunctions_p.h index adc0c6ce4f..9732a468df 100644 --- a/src/qml/qml/v8/qqmlbuiltinfunctions_p.h +++ b/src/qml/qml/v8/qqmlbuiltinfunctions_p.h @@ -65,8 +65,13 @@ namespace QV4 { struct QtObject : Object { - V4_OBJECT - QtObject(ExecutionEngine *v4, QQmlEngine *qmlEngine); + struct Data : Object::Data { + Data(ExecutionEngine *v4, QQmlEngine *qmlEngine); + QObject *platform; + QObject *application; + }; + V4_OBJECT(Object) + static ReturnedValue method_isQtObject(CallContext *ctx); static ReturnedValue method_rgba(CallContext *ctx); @@ -104,14 +109,13 @@ struct QtObject : Object #ifndef QT_NO_IM static ReturnedValue method_get_inputMethod(CallContext *ctx); #endif - - QObject *m_platform; - QObject *m_application; }; struct ConsoleObject : Object { - ConsoleObject(ExecutionEngine *v4); + struct Data : Object::Data { + Data(ExecutionEngine *engine); + }; static ReturnedValue method_error(CallContext *ctx); static ReturnedValue method_log(CallContext *ctx); @@ -147,18 +151,23 @@ struct GlobalExtensions { struct QQmlBindingFunction : public QV4::FunctionObject { - V4_OBJECT - QQmlBindingFunction(FunctionObject *originalFunction); + struct Data : FunctionObject::Data { + Data(FunctionObject *originalFunction); + QV4::FunctionObject *originalFunction; + // Set when the binding is created later + QQmlSourceLocation bindingLocation; + }; + V4_OBJECT(QV4::FunctionObject) void initBindingLocation(); // from caller stack trace static ReturnedValue call(Managed *that, CallData *callData); static void markObjects(Managed *that, ExecutionEngine *e); + static void destroy(Managed *that) { + static_cast<QQmlBindingFunction *>(that)->d()->~Data(); + } - QV4::FunctionObject *originalFunction; - // Set when the binding is created later - QQmlSourceLocation bindingLocation; }; } |