ime: make IME compile-time optional

This commit is contained in:
Daniel Eklöf 2020-12-03 18:36:56 +01:00
parent 8c3d48c5cd
commit 05083110c3
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
9 changed files with 103 additions and 29 deletions

View file

@ -1403,7 +1403,7 @@ term_destroy(struct terminal *term)
tll_free(term->alt.sixel_images);
sixel_fini(term);
free(term->ime.preedit.cells);
term_reset_ime(term);
free(term->foot_exe);
free(term->cwd);
@ -2218,12 +2218,12 @@ term_kbd_focus_out(struct terminal *term)
if (it->item.kbd_focus == term)
return;
#if defined(FOOT_IME_ENABLED) && FOOT_IME_ENABLED
if (term->ime.preedit.cells != NULL) {
free(term->ime.preedit.cells);
term->ime.preedit.cells = NULL;
term->ime.preedit.count = 0;
term_reset_ime(term);
render_refresh(term);
}
#endif
term->kbd_focus = false;
cursor_refresh(term);
@ -2753,3 +2753,13 @@ term_view_to_text(const struct terminal *term, char **text, size_t *len)
int end = grid_row_absolute_in_view(term->grid, term->rows - 1);
return rows_to_text(term, start, end, text, len);
}
void
term_reset_ime(struct terminal *term)
{
#if defined(FOOT_IME_ENABLED) && FOOT_IME_ENABLED
free(term->ime.preedit.cells);
term->ime.preedit.cells = NULL;
term->ime.preedit.count = 0;
#endif
}