Commit c1d7919a authored by Ismael Asensio's avatar Ismael Asensio
Browse files

AbstractClient: Fix the current VD being always added to the plasma interface

When setting-up the plasma window interface we need to call
`setOnAllDesktops()` after the actual virtual desktops have
been set.

Otherwise, the current desktop would be always added to the
interface (as if the user were unsetting the "onAllDesktops"
flag) and the plasma interface and KWin can get un-synced,
specially if there are specific window rules.

BUG: 452171
FIXED-IN: 5.24.5


(cherry picked from commit 4c8711f1)
parent a35e3075
Pipeline #162810 passed with stage
in 15 minutes and 3 seconds
......@@ -1488,7 +1488,6 @@ void AbstractClient::setupWindowManagementInterface()
w->setKeepBelow(keepBelow());
w->setMaximized(maximizeMode() == KWin::MaximizeFull);
w->setMinimized(isMinimized());
w->setOnAllDesktops(isOnAllDesktops());
w->setDemandsAttention(isDemandingAttention());
w->setCloseable(isCloseable());
w->setMaximizeable(isMaximizable());
......@@ -1620,6 +1619,10 @@ void AbstractClient::setupWindowManagementInterface()
for (const auto vd : qAsConst(m_desktops)) {
w->addPlasmaVirtualDesktop(vd->id());
}
// We need to set `OnAllDesktops` after the actual VD list has been added.
// Otherwise it will unconditionally add the current desktop to the interface
// which may not be the case, for example, when using rules
w->setOnAllDesktops(isOnAllDesktops());
//Plasma Virtual desktop management
//show/hide when the window enters/exits from desktop
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment