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.
This commit is contained in:
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…
Reference in New Issue