Properly mark all members in QObjectMethod
authorLars Knoll <lars.knoll@theqtcompany.com>
Fri, 23 Jan 2015 15:03:02 +0000 (16:03 +0100)
committerLars Knoll <lars.knoll@digia.com>
Fri, 23 Jan 2015 15:18:54 +0000 (16:18 +0100)
markObjects wasn't calling the parent implementation, so
the members in Object and FunctionObject didn't get
marked properly and thus collected early by the garbage
collector.

Change-Id: Iee036de909b68002db6d363263e739dcf857f024
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
src/qml/jsruntime/qv4qobjectwrapper.cpp

index f0c94d2..91ce345 100644 (file)
@@ -1893,6 +1893,8 @@ void QObjectMethod::markObjects(Heap::Base *that, ExecutionEngine *e)
     QObjectMethod::Data *This = static_cast<QObjectMethod::Data*>(that);
     This->qmlGlobal.mark(e);
     This->valueTypeWrapper.mark(e);
+
+    FunctionObject::markObjects(that, e);
 }
 
 DEFINE_OBJECT_VTABLE(QObjectMethod);