Fix constructions of QJSEngine objects
authorLars Knoll <lars.knoll@theqtcompany.com>
Thu, 1 Jan 2015 15:33:04 +0000 (16:33 +0100)
committerLars Knoll <lars.knoll@digia.com>
Thu, 1 Jan 2015 20:36:36 +0000 (21:36 +0100)
The private class is not empty anymore, so calling the wrong
constructor would lead to memory corruption

Change-Id: I6d477fc63bba46be733273f548397c2a50ef2bf4
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
src/qml/jsapi/qjsengine.cpp

index 04ed341..0989101 100644 (file)
@@ -165,7 +165,8 @@ QT_BEGIN_NAMESPACE
     \l{ECMA-262}, Section 15.1.
 */
 QJSEngine::QJSEngine()
-    : d(new QV8Engine(this))
+    : QObject(*new QJSEnginePrivate, 0)
+    , d(new QV8Engine(this))
 {
 }
 
@@ -177,7 +178,7 @@ QJSEngine::QJSEngine()
 */
 
 QJSEngine::QJSEngine(QObject *parent)
-    : QObject(parent)
+    : QObject(*new QJSEnginePrivate, parent)
     , d(new QV8Engine(this))
 {
 }