https://bugs.kde.org/show_bug.cgi?id=518058
Nate Graham <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Latest Commit|https://invent.kde.org/plas |https://invent.kde.org/plas |ma/plasma-workspace/-/commi |ma/plasma-workspace/-/commi |t/908a44175ad8a588d854f9f32 |t/aee2ae59d6cdc82672be7c86c |67a1216bf64e122 |3eb193cbabf678c --- Comment #29 from Nate Graham <[email protected]> --- Git commit aee2ae59d6cdc82672be7c86c3eb193cbabf678c by Nate Graham, on behalf of Błażej Szczygieł. Committed on 06/07/2026 at 13:49. Pushed by ngraham into branch 'Plasma/6.7'. libkworkspace: make sure outputOrderChanged() is always triggered In some multi-screen scenarios, especially when one screen is enabled and another screen is disabled in settings, when PC was woken-up from suspend, we may miss a trigger to place Plasma on our monitor, so the Plasma disappears. The WaylandOutputOrder::outputOrderChanged() is emitted more than once, but hasAllScreens() is always false and we only store the new output order in m_pendingOutputOrder which. The m_pendingOutputOrder is modified more than once before it's read, at first time it differs from m_outputOrder, at second time it's again the same as m_outputOrder. When Qt refreshes it's screen layout and the refresh() is called, the m_outputOrder is already the same as m_pendingOutputOrder, so no signal is emitted. In meantime the Plasma could move to non-available screen and it disappears. After the fix, we store the information that m_pendingOutputOrder has ever been changed before emitting the outputOrderChanged() signal, so we'll emit the signal anyway. M +6 -1 libkworkspace/outputorderwatcher.cpp M +30 -0 shell/autotests/shelltest.cpp https://invent.kde.org/plasma/plasma-workspace/-/commit/aee2ae59d6cdc82672be7c86c3eb193cbabf678c -- You are receiving this mail because: You are watching all bug changes.
