<table><tr><td style="">hein updated this revision to Diff 9797.<br />hein added a comment.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D3950" rel="noreferrer">View Revision</a></tr></table><br /><div><div><p>After the original bug became actually reproducible (thanks to<br />
Roman for a tip - I needed multiple Chrome tabs to slow down<br />
its teardown) I was able to pinpoint the actual cause, see the<br />
updated summary and the code comment.</p>

<p>Re the lack-of-symmetry complaint: The rowsAboutToBeRemoved<br />
connect is to the tree-shaped proxy because it allows for a<br />
speed optimization by ignoring group children, which is now<br />
even more worthwhile given the more coarse trigger. The<br />
second connect is to the filterProxyModel because the actual<br />
symmetry that's needed is to the model checked in<br />
filterAcceptsRow, which is the filterProxyModel as well. As<br />
previously explained proxy models fire rowsRemoved in response<br />
to their source model firing rowsAboutToBeRemoved, so when<br />
the grouping proxy (which is higher in the chain) fires<br />
rowsRemoved, the filter proxy still has the window, causing<br />
filterAcceptsRow not to allow the launcher to pass.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R120 Plasma Workspace</div></div></div><br /><div><strong>CHANGES SINCE LAST UPDATE</strong><div><a href="https://phabricator.kde.org/D3950?vs=9746&id=9797" rel="noreferrer">https://phabricator.kde.org/D3950?vs=9746&id=9797</a></div></div><br /><div><strong>BRANCH</strong><div><div>master</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D3950" rel="noreferrer">https://phabricator.kde.org/D3950</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>libtaskmanager/tasksmodel.cpp</div></div></div><br /><div><strong>EMAIL PREFERENCES</strong><div><a href="https://phabricator.kde.org/settings/panel/emailpreferences/" rel="noreferrer">https://phabricator.kde.org/settings/panel/emailpreferences/</a></div></div><br /><div><strong>To: </strong>hein, davidedmundson, mart<br /><strong>Cc: </strong>plasma-devel, lesliezhai, ali-mohamed, jensreuterberg, abetts, andreaska, sebas<br /></div>