From 1241b42c88f0ee2f9dfabb91e41196224699be01 Mon Sep 17 00:00:00 2001 From: xdavidwu Date: Sun, 12 Jan 2020 10:20:32 +0800 Subject: [PATCH] input-method: remove surface listener before set This make sure pending focused surface listener is not reachable from old surface. --- sway/input/text_input.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sway/input/text_input.c b/sway/input/text_input.c index 3e446cb9..f3fca68e 100644 --- a/sway/input/text_input.c +++ b/sway/input/text_input.c @@ -57,6 +57,7 @@ static void handle_im_commit(struct wl_listener *listener, void *data) { static void text_input_set_pending_focused_surface( struct sway_text_input *text_input, struct wlr_surface *surface) { + wl_list_remove(&text_input->pending_focused_surface_destroy.link); text_input->pending_focused_surface = surface; wl_signal_add(&surface->events.destroy, &text_input->pending_focused_surface_destroy);