Skip to content

wlr-seat bug: dont set focus surface to null then clear focus

Simon Ser requested to merge github/fork/acrisci/bug/seat-clear-focus into master

Created by: acrisci

The focus surface for the state should get cleared in the *_clear_focus() functions for the input, not here. If you clear it here, the focus surface won't get cleaned up properly and will lead to crashes.

You can reproduce a crash in wl-shell by closing a transient window (such as qgit about dialog).

The dialog takes a different code path to destroy itself by destroying the resource before using the surface destroy interface which is why we only get the crash in that case.

Merge request reports