Store a pointer to a heap object in the context wrapper
authorLars Knoll <lars.knoll@theqtcompany.com>
Thu, 11 Dec 2014 11:24:52 +0000 (12:24 +0100)
committerSimon Hausmann <simon.hausmann@digia.com>
Sat, 20 Dec 2014 11:00:26 +0000 (12:00 +0100)
Change-Id: I2555e3e78e429260129d83894ca94d158c5e1704
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
src/qml/qml/qqmlcontextwrapper.cpp
src/qml/qml/qqmlcontextwrapper_p.h

index 8d6cc66..7e386ac 100644 (file)
@@ -397,9 +397,7 @@ ReturnedValue QmlContextWrapper::idObjectsArray()
 {
     if (!d()->idObjectsWrapper) {
         ExecutionEngine *v4 = engine();
-        Scope scope(v4);
-        Scoped<QQmlIdObjectsArray> a(scope, v4->memoryManager->alloc<QQmlIdObjectsArray>(v4, this));
-        d()->idObjectsWrapper = a;
+        d()->idObjectsWrapper = v4->memoryManager->alloc<QQmlIdObjectsArray>(v4, this);
     }
     return d()->idObjectsWrapper->asReturnedValue();
 }
index 3728334..9dee1ef 100644 (file)
@@ -61,11 +61,12 @@ namespace CompiledData {
 struct Function;
 }
 
-struct QQmlIdObjectsArray;
 struct QmlContextWrapper;
 
 namespace Heap {
 
+struct QQmlIdObjectsArray;
+
 struct QmlContextWrapper : Object {
     QmlContextWrapper(QV8Engine *engine, QQmlContextData *context, QObject *scopeObject, bool ownsContext = false);
     ~QmlContextWrapper();