Commit 4c8711f1 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
parent 5fdf271c
Pipeline #162773 passed with stage
in 26 minutes and 29 seconds
......@@ -1539,7 +1539,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());
......@@ -1652,6 +1651,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