From a4bb3896bfeb716efebd768404915f0414c65068 Mon Sep 17 00:00:00 2001 From: Vlad Zahorodnii Date: Sat, 12 Feb 2022 13:18:39 +0200 Subject: [PATCH] Schedule workspace repaint when window leaves current desktop When a window leaves the current virtual desktop, we need to schedule a workspace repaint so the compositor repaints the old region of the window on the current desktop. In hindsight, the scene graph must schedule a repaint, but it's not doable with the current effects api, it will be changed with future refactoring changes. BUG: 444172 --- src/abstract_client.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/abstract_client.cpp b/src/abstract_client.cpp index 46087282fa..f12b497b8e 100644 --- a/src/abstract_client.cpp +++ b/src/abstract_client.cpp @@ -496,8 +496,10 @@ void AbstractClient::setDesktops(QVector desktops) updateWindowRules(Rules::Desktops); Q_EMIT desktopChanged(); - if (wasOnCurrentDesktop != isOnCurrentDesktop()) + if (wasOnCurrentDesktop != isOnCurrentDesktop()) { + addWorkspaceRepaint(visibleGeometry()); Q_EMIT desktopPresenceChanged(this, was_desk); + } Q_EMIT x11DesktopIdsChanged(); }