diff options
Diffstat (limited to 'rootston/text_input.c')
-rw-r--r-- | rootston/text_input.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/rootston/text_input.c b/rootston/text_input.c index 84dd253e..cca64353 100644 --- a/rootston/text_input.c +++ b/rootston/text_input.c @@ -65,6 +65,7 @@ static void text_input_set_pending_focused_surface( static void text_input_clear_pending_focused_surface( struct roots_text_input *text_input) { wl_list_remove(&text_input->pending_focused_surface_destroy.link); + wl_list_init(&text_input->pending_focused_surface_destroy.link); text_input->pending_focused_surface = NULL; } @@ -179,7 +180,7 @@ static void handle_text_input_destroy(struct wl_listener *listener, if (text_input->input->current_enabled) { relay_disable_text_input(relay, text_input); } - + text_input_clear_pending_focused_surface(text_input); wl_list_remove(&text_input->link); text_input->input = NULL; free(text_input); @@ -218,6 +219,7 @@ struct roots_text_input *roots_text_input_create( input->pending_focused_surface_destroy.notify = handle_pending_focused_surface_destroy; + wl_list_init(&input->pending_focused_surface_destroy.link); return input; } |