davidedmundson created this revision. davidedmundson added a reviewer: KWin. Herald added a project: Plasma. Herald added a subscriber: plasma-devel. davidedmundson requested review of this revision.
REVISION SUMMARY The wayland surface is destroyed and recreated after every hide/show. As it's a new surface, it needs a new blur attached and applied. The best hook is the expose event on the window. The current event filtering in Breeze operates on the QWidget which doesn't match the window. Fixing there still introduces a second layer of event filters on another object once the window is known. Whilst it could be done in breeze, but for API clients should just call KWindowEffects once per window and forget about it regardless of underlying surfaces. It also fixes all other wayland users of the call at once. This fixes blur on context menus opened a second time. BUG: 398899 TEST PLAN Turned on the show transparency effect in breeze Opened a context menu multiple times Observed that it was transparent and blurred REPOSITORY R130 Frameworks integration plugin using KWayland BRANCH master REVISION DETAIL https://phabricator.kde.org/D20951 AFFECTED FILES src/windowsystem/windoweffects.cpp src/windowsystem/windoweffects.h To: davidedmundson, #kwin Cc: plasma-devel, jraleigh, GB_2, ragreen, Pitel, ZrenBot, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart