<table><tr><td style="">davidedmundson 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/D26986">View Revision</a></tr></table><br /><div><div><p>This is definitely an area for improvement.</p>

<p>This code was initially written before QGuiApplication::screenRemoved existed, which is why it's like this.<br />
I think this solution is overly complex, you have the pointer to what changed in screenRemoved, we then discard that information and then go through loops to effectively retrieve that information we originally had.<br />
With a refactor that could be cleaner.</p>

<p>As for your initial bug you're trying to fix:<br />
You're still in a race to see if kscreenlocker can update before kwin renders something, this might make kscreenlocker faster, but it won't resolve it being a race.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R133 KScreenLocker</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D26986">https://phabricator.kde.org/D26986</a></div></div><br /><div><strong>To: </strong>tcanabrava<br /><strong>Cc: </strong>davidedmundson, plasma-devel, Orage, LeGast00n, The-Feren-OS-Dev, jraleigh, zachus, fbampaloukas, GB_2, ragreen, ZrenBot, ngraham, alexeymin, himcesjf, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, ahiemstra, mart<br /></div>