davidedmundson added a comment.
This is definitely an area for improvement. This code was initially written before QGuiApplication::screenRemoved existed, which is why it's like this. 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. With a refactor that could be cleaner. As for your initial bug you're trying to fix: 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. REPOSITORY R133 KScreenLocker REVISION DETAIL https://phabricator.kde.org/D26986 To: tcanabrava Cc: 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