VisualDataModel group change notification missing initialization.

Found by valgrind.  Ensure m_previousIndex is initialized.

Change-Id: Ie3f56d0428d22a7ff1dc54dd53bfdaef21ad169f
Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
This commit is contained in:
Martin Jones 2011-11-07 09:39:08 +10:00 committed by Qt by Nokia
parent b3f6633fb0
commit 9eca40d0da
2 changed files with 10 additions and 1 deletions

View File

@ -998,7 +998,7 @@ QObject *QQuickVisualDataModelPrivate::object(Compositor::Group group, int index
}
cacheItem->attached = QQuickVisualDataModelAttached::properties(cacheItem->object);
cacheItem->attached->m_cacheItem = cacheItem;
cacheItem->attached->setCacheItem(cacheItem);
new QQuickVisualDataModelAttachedMetaObject(cacheItem->attached, m_cacheMetaType);
cacheItem->attached->emitChanges();
@ -1728,6 +1728,13 @@ int QQuickVisualDataModelAttachedMetaObject::metaCall(QMetaObject::Call call, in
return attached->qt_metacall(call, _id, arguments);
}
void QQuickVisualDataModelAttached::setCacheItem(QQuickVisualDataModelCacheItem *item)
{
m_cacheItem = item;
for (int i = 1; i < m_cacheItem->metaType->groupCount; ++i)
m_previousIndex[i] = m_cacheItem->index[i];
}
/*!
\qmlattachedproperty int QtQuick2::VisualDataModel::model

View File

@ -199,6 +199,8 @@ public:
{}
~QQuickVisualDataModelAttached() { attachedProperties.remove(parent()); }
void setCacheItem(QQuickVisualDataModelCacheItem *item);
QQuickVisualDataModel *model() const;
QStringList groups() const;