diff options
author | Lars Knoll <lars.knoll@digia.com> | 2014-11-27 08:56:03 +0100 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@digia.com> | 2014-12-17 11:01:10 +0100 |
commit | 9d2a5ea28adf8ab35212ca8a71b479bc50960e3d (patch) | |
tree | c59e0799ccf55f832f1e2bde02e256ef62ac2d19 /src/qml/jsruntime/qv4managed_p.h | |
parent | a58893eeda6bd48f41bdfa19eda147343be5f81e (diff) |
Return a Heap::Object in Object::prototype()
Change-Id: Ice0265ae558ba14497421a5bbf25ee9db76adab5
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/jsruntime/qv4managed_p.h')
-rw-r--r-- | src/qml/jsruntime/qv4managed_p.h | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/src/qml/jsruntime/qv4managed_p.h b/src/qml/jsruntime/qv4managed_p.h index b67876bc82..e474a432ce 100644 --- a/src/qml/jsruntime/qv4managed_p.h +++ b/src/qml/jsruntime/qv4managed_p.h @@ -68,8 +68,7 @@ inline void qYouForgotTheQ_MANAGED_Macro(T1, T2) {} static const QV4::ManagedVTable static_vtbl; \ static inline const QV4::ManagedVTable *staticVTable() { return &static_vtbl; } \ V4_MANAGED_SIZE_TEST \ - const QV4::Heap::DataClass *d() const { return &static_cast<const QV4::Heap::DataClass &>(Managed::data); } \ - QV4::Heap::DataClass *d() { return &static_cast<QV4::Heap::DataClass &>(Managed::data); } + QV4::Heap::DataClass *d() const { return &static_cast<QV4::Heap::DataClass &>(const_cast<QV4::Heap::Base &>(Managed::data)); } #define V4_OBJECT(superClass) \ public: \ @@ -78,8 +77,7 @@ inline void qYouForgotTheQ_MANAGED_Macro(T1, T2) {} static const QV4::ObjectVTable static_vtbl; \ static inline const QV4::ManagedVTable *staticVTable() { return &static_vtbl.managedVTable; } \ V4_MANAGED_SIZE_TEST \ - const Data *d() const { return &static_cast<const Data &>(Managed::data); } \ - Data *d() { return &static_cast<Data &>(Managed::data); } + Data *d() const { return &static_cast<Data &>(const_cast<QV4::Heap::Base &>(Managed::data)); } #define V4_OBJECT2(DataClass, superClass) \ public: \ @@ -89,8 +87,7 @@ inline void qYouForgotTheQ_MANAGED_Macro(T1, T2) {} static const QV4::ObjectVTable static_vtbl; \ static inline const QV4::ManagedVTable *staticVTable() { return &static_vtbl.managedVTable; } \ V4_MANAGED_SIZE_TEST \ - const QV4::Heap::DataClass *d() const { return &static_cast<const QV4::Heap::DataClass &>(Managed::data); } \ - QV4::Heap::DataClass *d() { return &static_cast<QV4::Heap::DataClass &>(Managed::data); } + QV4::Heap::DataClass *d() const { return &static_cast<QV4::Heap::DataClass &>(const_cast<QV4::Heap::Base &>(Managed::data)); } #define Q_MANAGED_TYPE(type) \ public: \ |