commit 6a92889

shrub  ·  2026-04-30 16:27:10 +0000 UTC
parent d0ee3ac
send leave when destroying focused view
1 files changed,  +8, -3
+8, -3
 1@@ -70,10 +70,15 @@ handle_focus_view_destroy(struct wl_listener *listener, void *data)
 2 {
 3 	struct input_focus *input_focus =
 4 	    wl_container_of(listener, input_focus, view_destroy_listener);
 5+	struct compositor_view *view = input_focus->view;
 6+
 7+	(void)data;
 8+
 9+	/* send the leave event */
10+	if (view) {
11+		unfocus(input_focus);
12+	}
13 
14-	/* XXX: Should this call unfocus? */
15-	wl_list_insert_list(&input_focus->inactive, &input_focus->active);
16-	wl_list_init(&input_focus->active);
17 	input_focus->client = NULL;
18 	input_focus->view = NULL;
19 }