aboutsummaryrefslogtreecommitdiff
path: root/sway/input
diff options
context:
space:
mode:
authorSimon Ser <contact@emersion.fr>2024-02-17 14:47:42 +0100
committerSimon Ser <contact@emersion.fr>2024-02-23 14:05:52 +0100
commit07b059852673cd9e148c2adfc6bb4f8a0d0ff315 (patch)
tree7cda3ab3817b1be95d530fc169c32916396cea45 /sway/input
parentd6150b6bb05ff9f59c0162fc2bab1709545fae7f (diff)
input/text_input: fix dangling listeners
Diffstat (limited to 'sway/input')
-rw-r--r--sway/input/text_input.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sway/input/text_input.c b/sway/input/text_input.c
index ad760a6f..5e96c3a8 100644
--- a/sway/input/text_input.c
+++ b/sway/input/text_input.c
@@ -109,6 +109,9 @@ static void handle_im_destroy(struct wl_listener *listener, void *data) {
input_method_destroy);
struct wlr_input_method_v2 *context = data;
assert(context == relay->input_method);
+ wl_list_remove(&relay->input_method_commit.link);
+ wl_list_remove(&relay->input_method_grab_keyboard.link);
+ wl_list_remove(&relay->input_method_destroy.link);
wl_list_remove(&relay->input_method_new_popup_surface.link);
relay->input_method = NULL;
struct sway_text_input *text_input = relay_get_focused_text_input(relay);