Merge branch 'no-ime'

Closes #259
This commit is contained in:
Daniel Eklöf 2020-12-26 12:10:04 +01:00
commit 2f867a8c2c
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
3 changed files with 15 additions and 0 deletions

View file

@ -36,6 +36,8 @@
* Exit when the client application terminates, not when the TTY file
descriptor is closed.
* Crash on compositors not implementing the _text input_ interface
(https://codeberg.org/dnkl/foot/issues/259).
### Security

6
ime.c
View file

@ -327,6 +327,9 @@ ime_reset(struct seat *seat)
void
ime_enable(struct seat *seat)
{
if (unlikely(seat->wayl->text_input_manager == NULL))
return;
struct terminal *term = seat->kbd_focus;
assert(term != NULL);
@ -348,6 +351,9 @@ ime_enable(struct seat *seat)
void
ime_disable(struct seat *seat)
{
if (unlikely(seat->wayl->text_input_manager == NULL))
return;
ime_reset(seat);
zwp_text_input_v3_disable(seat->wl_text_input);

View file

@ -1130,6 +1130,13 @@ wayl_init(const struct config *conf, struct fdm *fdm)
goto out;
}
#if defined(FOOT_IME_ENABLED) && FOOT_IME_ENABLED
if (wayl->text_input_manager == NULL) {
LOG_WARN("text input interface not implemented by compositor; "
"IME will be disabled");
}
#endif
/* Trigger listeners registered when handling globals */
wl_display_roundtrip(wayl->display);