diff --git a/ime.c b/ime.c index a224d570..deb6dc9c 100644 --- a/ime.c +++ b/ime.c @@ -385,17 +385,13 @@ ime_enable(struct seat *seat) if (unlikely(seat->wayl->text_input_manager == NULL)) return; - struct terminal *term = seat->kbd_focus; - - /* TODO: we’ve actually seen text-input::enter without first - * seeing keyboard::enter... so perhaps we should check for this, - * and... do what? Ignore IME completely, or do we need to call - * ime_enable() from keyboard::enter too? */ - xassert(term != NULL); - if (!seat->ime.focused) return; + struct terminal *term = seat->kbd_focus; + if (term == NULL) + return; + if (!term->ime_enabled) return;