From bd493f963dc5b7f7b56336793ff08fa58c8e2200 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Thu, 22 Nov 2018 10:12:21 +0100 Subject: [PATCH] Fix blank items in Issues pane Even if source items are removed that are currently not visible, the rest of the source mapping indices must be adapted. Fixes: QTCREATORBUG-20542 Change-Id: Ib351286e6e7c35cdbdc96a3c38b346e8ed8f456c Reviewed-by: Tobias Hunger Reviewed-by: Orgad Shaneh --- src/plugins/projectexplorer/taskmodel.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/plugins/projectexplorer/taskmodel.cpp b/src/plugins/projectexplorer/taskmodel.cpp index a7ac388487b..dcdf1554c81 100644 --- a/src/plugins/projectexplorer/taskmodel.cpp +++ b/src/plugins/projectexplorer/taskmodel.cpp @@ -437,12 +437,12 @@ void TaskFilterModel::handleRowsAboutToBeRemoved(const QModelIndex &index, int f QTC_ASSERT(!index.isValid(), return); const QPair range = findFilteredRange(first, last, m_mapping); - if (range.first > range.second) // rows to be removed are filtered out - return; - - beginRemoveRows(QModelIndex(), range.first, range.second); - m_beginRemoveRowsSent = true; - m_mapping.erase(m_mapping.begin() + range.first, m_mapping.begin() + range.second + 1); + if (range.first <= range.second) { // remove corresponding rows in filtermodel + beginRemoveRows(QModelIndex(), range.first, range.second); + m_beginRemoveRowsSent = true; + m_mapping.erase(m_mapping.begin() + range.first, m_mapping.begin() + range.second + 1); + } + // adapt existing mapping to removed source indices const int sourceRemovedCount = (last - first) + 1; for (int i = range.first; i < m_mapping.count(); ++i) m_mapping[i] = m_mapping.at(i) - sourceRemovedCount;