diff options
Diffstat (limited to 'src/declarative/graphicsitems/qmlgraphicsvisualitemmodel.cpp')
-rw-r--r-- | src/declarative/graphicsitems/qmlgraphicsvisualitemmodel.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/declarative/graphicsitems/qmlgraphicsvisualitemmodel.cpp b/src/declarative/graphicsitems/qmlgraphicsvisualitemmodel.cpp index cf5fc5e..e8ee196 100644 --- a/src/declarative/graphicsitems/qmlgraphicsvisualitemmodel.cpp +++ b/src/declarative/graphicsitems/qmlgraphicsvisualitemmodel.cpp @@ -692,11 +692,16 @@ QmlComponent *QmlGraphicsVisualDataModel::delegate() const void QmlGraphicsVisualDataModel::setDelegate(QmlComponent *delegate) { Q_D(QmlGraphicsVisualDataModel); + bool wasValid = d->m_delegate != 0; d->m_delegate = delegate; - if (d->modelCount()) { + if (!wasValid && d->modelCount() && d->m_delegate) { emit itemsInserted(0, d->modelCount()); emit countChanged(); } + if (wasValid && !d->m_delegate && d->modelCount()) { + emit itemsRemoved(0, d->modelCount()); + emit countChanged(); + } } QString QmlGraphicsVisualDataModel::part() const |