<table><tr><td style="">broulik created this revision.<br />broulik added a reviewer: Plasma.<br />broulik set the repository for this revision to R119 Plasma Desktop.<br />Restricted Application added a project: Plasma.<br />Restricted Application added a subscriber: plasma-devel.
</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/D3897" rel="noreferrer">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>While trying to fix a random plasmashell crash I was getting fairly often (and I hoped was fixed by David's last spacer fix) I found that the cause was actually in virtual desktop pager.</p>
<p>The virtual desktop pager is hidden when there's just one desktop and it will not update its models in this case to save resources. Back when I added this I already noticed that sometimes the pager (usually after one "open and close panelcontroller" cycle) still thought it was visible. It was even weirder than that, I found out that on teardown it suddenly thought it became visible. This had it populate its model which in turn spawned QML items, all of this whilst the panel was already in the process of destroying its children, leading to a crash.</p></div></div><br /><div><strong>TEST PLAN</strong><div><p>Previously I could easily reproduce the crash:<br />
start plasmashell<br />
open panel controller<br />
quickly open krunner and type kquitapp plasmashell<br />
boom</p>
<p>No more, gosh, this was a weird one. Also verified that virtual desktop pager "enabled" property stays consistent.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R119 Plasma Desktop</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D3897" rel="noreferrer">https://phabricator.kde.org/D3897</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>containments/panel/contents/ui/main.qml</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>broulik, Plasma<br /><strong>Cc: </strong>plasma-devel, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas<br /></div>