Commit 15d3d300 authored by Committed by Daniel Stone
desktop-shell: remove surface destroy listener when focus state is destroyed
Changing the focused surface did remove the surface_destroy_listener from the wl_signal list, but destroying the focus state did not. As a result, sometimes the same listener would be added to two surfaces, which would join their wl_signal lists together, which would cause infinite loops and use-after-frees when closing desktop surfaces.
Showing with 4 additions and 0 deletions