From 14c6ee894edfbef9a4f9c9de546c77ee6f261940 Mon Sep 17 00:00:00 2001 From: Dorota Czaplejewicz Date: Wed, 17 Oct 2018 15:34:41 +0000 Subject: [PATCH] text-input: Don't reject enable requests when unfocused The prevoius implementation would always raise an error in the following sequence: -> enter -> leave <- enable The text-input type is not equipped to manage the validity of clents' requests, which should be handled in the compositor, as rootston does. --- types/wlr_text_input_v3.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/types/wlr_text_input_v3.c b/types/wlr_text_input_v3.c index 52c0fcc9..6ec0762a 100644 --- a/types/wlr_text_input_v3.c +++ b/types/wlr_text_input_v3.c @@ -175,11 +175,10 @@ static void text_input_commit(struct wl_client *client, text_input->current_enabled = text_input->pending_enabled; text_input->current_serial++; - if (text_input->current_enabled && text_input->focused_surface == NULL) { - wl_resource_post_error(text_input->resource, 0, "Text input was not" - "entered, and cannot be enabled\n"); - return; + if (text_input->focused_surface == NULL) { + wlr_log(WLR_DEBUG, "Text input commit received without focus\n"); } + if (!old_enabled && text_input->current_enabled) { wlr_signal_emit_safe(&text_input->events.enable, text_input); } else if (old_enabled && !text_input->current_enabled) {