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.
master
Dorota Czaplejewicz 6 years ago
parent affc83ff82
commit 14c6ee894e

@ -175,11 +175,10 @@ static void text_input_commit(struct wl_client *client,
text_input->current_enabled = text_input->pending_enabled; text_input->current_enabled = text_input->pending_enabled;
text_input->current_serial++; text_input->current_serial++;
if (text_input->current_enabled && text_input->focused_surface == NULL) { if (text_input->focused_surface == NULL) {
wl_resource_post_error(text_input->resource, 0, "Text input was not" wlr_log(WLR_DEBUG, "Text input commit received without focus\n");
"entered, and cannot be enabled\n");
return;
} }
if (!old_enabled && text_input->current_enabled) { if (!old_enabled && text_input->current_enabled) {
wlr_signal_emit_safe(&text_input->events.enable, text_input); wlr_signal_emit_safe(&text_input->events.enable, text_input);
} else if (old_enabled && !text_input->current_enabled) { } else if (old_enabled && !text_input->current_enabled) {

Loading…
Cancel
Save