[xcb] Ensure the compositingChanged signal is emitted if NETEventFilter is recreated
Review Request #128576 - Created Aug. 2, 2016 and submitted
The Xcb implementation of KWindowSystem has two operations modes and when switching between the two it recreates the NETEventFilter. This could result in the compositingChanged signal never to be emitted if: 1) NETEventFilter gets created before compositor is started 2) NETEventFilter gets recreated after compositor is started but before the old filter had a chance to process the XFixes event This was the cause for e.g. plasmashell not properly detecting that a Compositor is running on X11. This change ensures that the signal is emitted if the compositing state differs after the recreation. Also a test case is added which simulates the condition. BUG: 362531
Review request changed
Status: Closed (submitted)
Submitted with commit 4d355569eea2fae76ed67f791db8abeec1e794f0 by Martin Gräßlin to branch master.
kwindowsystem master fails to build: kwindowsystem/src/platforms/xcb/kwindowsystem.cpp:441:48: error: ‘class NETEventFilter’ has no member named ‘compositingEnabled’ const bool wasCompositing = s_d ? s_d->compositingEnabled : false;