summaryrefslogtreecommitdiffstats
path: root/src/declarative
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2011-01-17 16:09:56 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2011-01-17 16:09:56 (GMT)
commit54b3ddc0707f08378f75168df5b35653997fe3cf (patch)
tree3b7c516d918c905f0dea31b97c50c57a6338310f /src/declarative
parent1e179f6c0279adefc20924731b6e8378a89131de (diff)
parentd5716c0b27bcddfea0f1787aa59a08e340d64e30 (diff)
downloadQt-54b3ddc0707f08378f75168df5b35653997fe3cf.zip
Qt-54b3ddc0707f08378f75168df5b35653997fe3cf.tar.gz
Qt-54b3ddc0707f08378f75168df5b35653997fe3cf.tar.bz2
Merge branch 4.7 into qt-master-from-4.7
Diffstat (limited to 'src/declarative')
-rw-r--r--src/declarative/qml/qdeclarativecomponent.cpp4
-rw-r--r--src/declarative/qml/qdeclarativevme.cpp5
2 files changed, 9 insertions, 0 deletions
diff --git a/src/declarative/qml/qdeclarativecomponent.cpp b/src/declarative/qml/qdeclarativecomponent.cpp
index e2cbdcf..f716f85 100644
--- a/src/declarative/qml/qdeclarativecomponent.cpp
+++ b/src/declarative/qml/qdeclarativecomponent.cpp
@@ -627,6 +627,10 @@ QDeclarativeComponent::QDeclarativeComponent(QDeclarativeComponentPrivate &dd, Q
must provide a valid \a parent value or set the returned object's \l{Item::parent}{parent}
property, or else the object will not be visible.
+ If a \a parent is not provided to createObject(), a reference to the returned object must be held so that
+ it is not destroyed by the garbage collector. This is regardless of Item.parent being set afterwards,
+ since setting the Item parent does not change object ownership; only the graphical parent is changed.
+
Dynamically created instances can be deleted with the \c destroy() method.
See \l {Dynamic Object Management in QML} for more information.
*/
diff --git a/src/declarative/qml/qdeclarativevme.cpp b/src/declarative/qml/qdeclarativevme.cpp
index 6d49625..fb07bef 100644
--- a/src/declarative/qml/qdeclarativevme.cpp
+++ b/src/declarative/qml/qdeclarativevme.cpp
@@ -938,8 +938,13 @@ QObject *QDeclarativeVME::run(QDeclarativeVMEStack<QObject *> &stack,
if (bindValues.count)
ep->bindValues << bindValues;
+ else if (bindValues.values)
+ bindValues.clear();
+
if (parserStatus.count)
ep->parserStatus << parserStatus;
+ else if (parserStatus.values)
+ parserStatus.clear();
Q_ASSERT(stack.count() == 1);
return stack.top();