https://bugs.kde.org/show_bug.cgi?id=489632

--- Comment #14 from Vlad Zahorodnii <vlad.zahorod...@kde.org> ---
Git commit 65073ce6796fb6033929b5ce413612148eb7908e by Vlad Zahorodnii.
Committed on 23/07/2024 at 13:55.
Pushed by vladz into branch 'Plasma/6.1'.

Make Workspace::desktopResized() reassign outputs of uninitialized windows

If an output is deleted, the Workspace::desktopResized() is going to
re-assign windows to the new outputs. It is done so so the workspace
re-arrangement procedure is deterministic and has concrete order.

However, with the current Window lifecycle management, it's possible
to encounter the follwing case:

- xdg_toplevel gets created on output A
- xdg_toplevel initial state is committed
- output A is removed
- a wl_buffer is attached to the xdg_toplevel, which results in a
  geometry change and an output change
- Window::setMoveResizeOutput() is called, but the previous output
  is a dangling pointer


(cherry picked from commit 02fbeeae78188c6e7aa4dd90c582faef1d678c01)

Co-authored-by: Vlad Zahorodnii <vlad.zahorod...@kde.org>

M  +2    -0    autotests/integration/CMakeLists.txt
A  +115  -0    autotests/integration/workspace_test.cpp     [License:
GPL(v2.0+)]
M  +9    -0    src/workspace.cpp

https://invent.kde.org/plasma/kwin/-/commit/65073ce6796fb6033929b5ce413612148eb7908e

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to