fix a use-after-free

Prevent a use-after-free when closing a nested dwl with Ctrl+c.

It happened because cleanup() → input_method_relay_finish() frees
input_method_relay, and then closemon() → focusclient() →
input_method_relay_set_focus() uses relay->surface.
This commit is contained in:
Guido Cella
2026-09-15 23:29:50 +02:00
parent 6013835337
commit 433c325fb2
2 changed files with 2 additions and 1 deletions
+1
View File
@@ -792,6 +792,7 @@ cleanup(void)
destroykeyboardgroup(&kb_group->destroy, NULL);
input_method_relay_finish(input_method_relay);
input_method_relay = NULL;
/* If it's not destroyed manually, it will cause a use-after-free of wlr_seat.
* Destroy it until it's fixed on the wlroots side */