mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-03-16 05:34:00 -04:00
commit
2f867a8c2c
3 changed files with 15 additions and 0 deletions
|
|
@ -36,6 +36,8 @@
|
||||||
|
|
||||||
* Exit when the client application terminates, not when the TTY file
|
* Exit when the client application terminates, not when the TTY file
|
||||||
descriptor is closed.
|
descriptor is closed.
|
||||||
|
* Crash on compositors not implementing the _text input_ interface
|
||||||
|
(https://codeberg.org/dnkl/foot/issues/259).
|
||||||
|
|
||||||
|
|
||||||
### Security
|
### Security
|
||||||
|
|
|
||||||
6
ime.c
6
ime.c
|
|
@ -327,6 +327,9 @@ ime_reset(struct seat *seat)
|
||||||
void
|
void
|
||||||
ime_enable(struct seat *seat)
|
ime_enable(struct seat *seat)
|
||||||
{
|
{
|
||||||
|
if (unlikely(seat->wayl->text_input_manager == NULL))
|
||||||
|
return;
|
||||||
|
|
||||||
struct terminal *term = seat->kbd_focus;
|
struct terminal *term = seat->kbd_focus;
|
||||||
assert(term != NULL);
|
assert(term != NULL);
|
||||||
|
|
||||||
|
|
@ -348,6 +351,9 @@ ime_enable(struct seat *seat)
|
||||||
void
|
void
|
||||||
ime_disable(struct seat *seat)
|
ime_disable(struct seat *seat)
|
||||||
{
|
{
|
||||||
|
if (unlikely(seat->wayl->text_input_manager == NULL))
|
||||||
|
return;
|
||||||
|
|
||||||
ime_reset(seat);
|
ime_reset(seat);
|
||||||
|
|
||||||
zwp_text_input_v3_disable(seat->wl_text_input);
|
zwp_text_input_v3_disable(seat->wl_text_input);
|
||||||
|
|
|
||||||
|
|
@ -1130,6 +1130,13 @@ wayl_init(const struct config *conf, struct fdm *fdm)
|
||||||
goto out;
|
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 */
|
/* Trigger listeners registered when handling globals */
|
||||||
wl_display_roundtrip(wayl->display);
|
wl_display_roundtrip(wayl->display);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue