workspace: don't rearrange immediately when a window with struts gets removed

Otherwise, rearrange can happen on intermediate output configurations, as layer shell
windows can get closed in response to outputs being disabled.
That rearrange on intermediate output configurations can confuse the placement tracker
logic, which may then move windows to weird locations or even offscreen

CCBUG: 479694
This commit is contained in:
Xaver Hugl 2024-09-03 14:37:39 +02:00
parent 8443da3083
commit 24ab95bdd7

View file

@ -868,7 +868,7 @@ void Workspace::removeWindow(Window *window)
setupWindowShortcutDone(false);
}
if (window->hasStrut()) {
rearrange();
scheduleRearrange();
}
Q_EMIT windowRemoved(window);