Skip to content

kwin/customtiling: Evacuate tiled windows from custom & quick tiling on output removal

Dominique Hummel requested to merge naxdy/kwin:work/fix-tiling-crash into master

Context: If a display is removed, the corresponding TileManager is removed with it. This in turn removes every one of its Tiles with it, and when a Tile's destructor is called, it attempts to find a new replacement tile for any windows it was previously managing.

However, if the Tile is removed because its corresponding TileManager has been removed, this has the potential to cause a segfault in KWin, causing it to crash (I suspect a possible race condition? but not sure).

This MR correctly evacuates custom tiled windows & migrates quick tiled windows upon output removal.

Bulk of the work done by @vladz

BUG: 465522

Edited by Dominique Hummel

Merge request reports