diff options
author | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2019-10-10 01:00:21 +0200 |
---|---|---|
committer | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2019-10-10 01:00:21 +0200 |
commit | 1bddf29287b4c42c321688376147d14bfecb46a1 (patch) | |
tree | 2939d848a3a5496963aa2749b9deead6df9c49f4 /src/qmlmodels/qqmldelegatemodel.cpp | |
parent | a02b5d48cf63228ed8faf6abf4724df2c4500269 (diff) | |
parent | 3fde977a817498817e98ce350d493658b0ed4458 (diff) |
Merge remote-tracking branch 'origin/5.14' into 5.15
Change-Id: I2835748c27616103f275849141fbe5a93e3dfd8c
Diffstat (limited to 'src/qmlmodels/qqmldelegatemodel.cpp')
-rw-r--r-- | src/qmlmodels/qqmldelegatemodel.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/qmlmodels/qqmldelegatemodel.cpp b/src/qmlmodels/qqmldelegatemodel.cpp index 691b4b3c29..2c3382c643 100644 --- a/src/qmlmodels/qqmldelegatemodel.cpp +++ b/src/qmlmodels/qqmldelegatemodel.cpp @@ -453,7 +453,8 @@ void QQmlDelegateModel::setDelegate(QQmlComponent *delegate) } if (d->m_delegate == delegate) return; - bool wasValid = d->m_delegate != nullptr; + if (d->m_complete) + _q_itemsRemoved(0, d->m_count); d->m_delegate.setObject(delegate, this); d->m_delegateValidated = false; if (d->m_delegateChooser) @@ -469,7 +470,11 @@ void QQmlDelegateModel::setDelegate(QQmlComponent *delegate) [d](){ d->delegateChanged(); }); } } - d->delegateChanged(d->m_delegate, wasValid); + if (d->m_complete) { + _q_itemsInserted(0, d->adaptorModelCount()); + d->requestMoreIfNecessary(); + } + emit delegateChanged(); } /*! |