Diffusion KWin 0455fa9ef989

Only send active window changes to X11 root window if the X11 window changed

Authored by graesslin on Aug 3 2017, 2:31 PM.

Description

Only send active window changes to X11 root window if the X11 window changed

Summary:
So far KWin always updated the active window property even if the actual
window id hasn't changed. E.g. if a Wayland window was active and another
Wayland window gets activated the window id was and stays 0.

Nevertheless KWin updated the property causing wakeups in X server and
any application listening to property changes on the root window.

Futhermore this situation is an information leak: we leak when a Wayland
window gets activated to X11.

To solve this problem RootInfo caches the active window id and only
updates if it changes.

Test Plan:
Verified with xev -root that the active window does not get
updated needlessly.

Reviewers: KWin, Plasma

Subscribers: plasma-devel, kwin

Tags: KWin

Differential Revision: https://phabricator.kde.org/D7096