graesslin added a comment.
In https://phabricator.kde.org/D7096#137647, @luebking wrote: > David has some point though - m_activeWindow *can* get out of sync (server error, mal... stupid client - and will be temporarily due to the async setup) and must not be used directly to query the active window. Yes David has a point. But this commit doesn't change anything. KWin never tried to restore the active client in case of server error or stupid client. When the next client gets activated it would be set - the same as with this change. If we want to protect against this, that's fine with me, but it's orthogonal to this change. > Since there should be only one root per process, maybe rather use a local static than a member (to constrain this cache to the particular function)? I fail to see what should be better with a local static than a member variable (also don't take the one root per process for granted, if KWin/Wayland at some distant future point handles a crashing XWayland gracefully it would no longer be granted). REPOSITORY R108 KWin REVISION DETAIL https://phabricator.kde.org/D7096 To: graesslin, #kwin, #plasma, davidedmundson Cc: luebking, davidedmundson, plasma-devel, kwin, ZrenBot, progwolff, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, sebas, apol, mart, lukas