aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndrew den Exter <andrew.den-exter@nokia.com>2011-11-08 13:00:02 +1000
committerQt by Nokia <qt-info@nokia.com>2011-11-09 08:23:57 +0100
commit2b5432bd63483998da39aa4eadfb10d0e43ba0b6 (patch)
treebbaba0f46e97304cc79933a73a2ba8789aef02d7 /src
parent6a01c81dffe3122138bb9708166c1701059f01fa (diff)
Extend VisualDataModel tests to cover Package delegates.
Verify the existing tests also pass if a package delegate is used. Fixes incorrect changes being emitted when the group a part model is filtered on changes and package items not being un-parented when destroyed. Change-Id: Ib4be42274b0a0460ae9b763a9737f4a6d3b94603 Reviewed-by: Martin Jones <martin.jones@nokia.com>
Diffstat (limited to 'src')
-rw-r--r--src/declarative/items/qquickvisualdatamodel.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/declarative/items/qquickvisualdatamodel.cpp b/src/declarative/items/qquickvisualdatamodel.cpp
index b9d97e7251..8852dce3cc 100644
--- a/src/declarative/items/qquickvisualdatamodel.cpp
+++ b/src/declarative/items/qquickvisualdatamodel.cpp
@@ -2375,7 +2375,7 @@ void QQuickVisualPartsModel::updateFilterGroup()
if (m_inheritGroup)
return;
- QDeclarativeListCompositor::Group previousGroup = model->m_compositorGroup;
+ QDeclarativeListCompositor::Group previousGroup = m_compositorGroup;
m_compositorGroup = Compositor::Default;
QQuickVisualDataGroupPrivate::get(model->m_groups[Compositor::Default])->emitters.insert(this);
for (int i = 1; i < model->m_groupCount; ++i) {
@@ -2477,8 +2477,10 @@ QQuickVisualModel::ReleaseFlags QQuickVisualPartsModel::release(QQuickItem *item
m_packaged.erase(it);
if (!m_packaged.contains(item))
flags &= ~Referenced;
- if (flags & Destroyed)
+ if (flags & Destroyed) {
QQuickVisualDataModelPrivate::get(m_model)->emitDestroyingPackage(package);
+ item->setParentItem(0);
+ }
}
return flags;
}