From 1e775d2a677e849432baef1386d3987a94728b95 Mon Sep 17 00:00:00 2001
From: Jian Liang <jianliang79@gmail.com>
Date: Sun, 2 Nov 2014 19:01:23 +0800
Subject: [PATCH] Fix memory leak caused by QV4::ErrorObject

We should destruct QV4::ErrorObject::Data instead of QV4::ErrorObject in
QV4::ErrorObject::destroy() since all the members is stored in
QV4::ErrorObject::Data.

Task-number: QTBUG-42340
Change-Id: Ifff6413c0726591c335a421a5f289c1886f80980
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
---
 src/qml/jsruntime/qv4errorobject_p.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/qml/jsruntime/qv4errorobject_p.h b/src/qml/jsruntime/qv4errorobject_p.h
index 6070fe6210..47442ad985 100644
--- a/src/qml/jsruntime/qv4errorobject_p.h
+++ b/src/qml/jsruntime/qv4errorobject_p.h
@@ -71,7 +71,7 @@ struct ErrorObject: Object {
 
     static ReturnedValue method_get_stack(CallContext *ctx);
     static void markObjects(Managed *that, ExecutionEngine *e);
-    static void destroy(Managed *that) { static_cast<ErrorObject *>(that)->~ErrorObject(); }
+    static void destroy(Managed *that) { static_cast<ErrorObject *>(that)->d()->~Data(); }
 };
 
 template<>
-- 
GitLab