From 8b3cbc4403e3eac286613691c11aa1ded588da59 Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Mon, 30 Jan 2017 22:22:00 +0100 Subject: Refactor how we define Heap objects Declare the type of Heap object in the Member() macro, instead of deducing it from templates. This allows us to encode the offset of the member in the second template argument to Pointer<> in a second step. Change-Id: I2cfb73785749d3fb991689b4e0554a72b3e5e13f Reviewed-by: Simon Hausmann --- src/qml/qml/qqmlcomponent.cpp | 10 +++++----- src/qml/qml/qqmlxmlhttprequest.cpp | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'src/qml/qml') diff --git a/src/qml/qml/qqmlcomponent.cpp b/src/qml/qml/qqmlcomponent.cpp index 487846f610..79e52f3914 100644 --- a/src/qml/qml/qqmlcomponent.cpp +++ b/src/qml/qml/qqmlcomponent.cpp @@ -1047,11 +1047,11 @@ namespace QV4 { namespace Heap { #define QmlIncubatorObjectMembers(class, Member) \ - Member(class, Value, valuemap) \ - Member(class, Value, statusChanged) \ - Member(class, Pointer, qmlContext) \ - Member(class, QQmlComponentIncubator *, incubator) \ - Member(class, QQmlQPointer, parent) + Member(class, Value, Value, valuemap) \ + Member(class, Value, Value, statusChanged) \ + Member(class, Pointer, QmlContext *, qmlContext) \ + Member(class, NoMark, QQmlComponentIncubator *, incubator) \ + Member(class, NoMark, QQmlQPointer, parent) DECLARE_HEAP_OBJECT(QmlIncubatorObject, Object) { DECLARE_MARK_TABLE(QmlIncubatorObject); diff --git a/src/qml/qml/qqmlxmlhttprequest.cpp b/src/qml/qml/qqmlxmlhttprequest.cpp index 868120a2f6..502a693d5c 100644 --- a/src/qml/qml/qqmlxmlhttprequest.cpp +++ b/src/qml/qml/qqmlxmlhttprequest.cpp @@ -1598,7 +1598,7 @@ struct QQmlXMLHttpRequestWrapper : Object { }; #define QQmlXMLHttpRequestCtorMembers(class, Member) \ - Member(class, Pointer, proto) + Member(class, Pointer, Object *, proto) DECLARE_HEAP_OBJECT(QQmlXMLHttpRequestCtor, FunctionObject) { DECLARE_MARK_TABLE(QQmlXMLHttpRequestCtor); -- cgit v1.2.3