ListModel::clear() should not clear roles
authorBea Lam <bea.lam@nokia.com>
Fri, 8 Apr 2011 04:20:17 +0000 (14:20 +1000)
committerBea Lam <bea.lam@nokia.com>
Tue, 12 Apr 2011 01:07:48 +0000 (11:07 +1000)
commit6ec7695eaa02c923b90d72e3918b9ab50da63e41
tree79730f4d1e6ef69f5ccaf87b14d9bc9ee38d40cb
parent051a76c1d65d698f71dc75c89f91ae9021357eae
ListModel::clear() should not clear roles

Clearing a model and then appending a new object with a subset of the
previous roles was causing a crash since ListModel cleared the roles
and VisualDataModel did not, so VisualDataModel was requesting invalid
roles. This could have been fixed by clearing the meta object and
its property cache in in VisualDataModel but this is less efficient,
and also the general use case is for model data to always have the same
roles.

Task-number: QTBUG-18587
Change-Id: Ib11d2292888ab7a41e772b1e11700cd665e94ae7
Reviewed-by: Michael Brasser
src/declarative/util/qdeclarativelistmodel.cpp
tests/auto/declarative/qdeclarativelistmodel/tst_qdeclarativelistmodel.cpp