diff options
author | Andrew den Exter <andrew.den-exter@nokia.com> | 2011-11-08 13:00:02 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-11-09 08:23:57 +0100 |
commit | 2b5432bd63483998da39aa4eadfb10d0e43ba0b6 (patch) | |
tree | bbaba0f46e97304cc79933a73a2ba8789aef02d7 /src | |
parent | 6a01c81dffe3122138bb9708166c1701059f01fa (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.cpp | 6 |
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; } |