ime: don’t pass ‘term’ to ime_update_cursor_rect()

In all instances where we call ime_update_cursor_rect(), the ‘term’
argument is the same as seat->kbd_focus.

So, let ime_update_cursor_rect() use that directly instead.

Also make ime_send_cursor_rect() static (i.e. local to ime.c).
This commit is contained in:
Daniel Eklöf 2021-03-23 13:56:33 +01:00
parent 1c355f7b7f
commit 13b45db13e
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
3 changed files with 12 additions and 10 deletions

15
ime.c
View file

@ -344,8 +344,8 @@ ime_reset_preedit(struct seat *seat)
seat->ime.preedit.count = 0; seat->ime.preedit.count = 0;
} }
void static void
ime_send_cursor_rect(struct seat *seat, struct terminal *term) ime_send_cursor_rect(struct seat *seat)
{ {
if (unlikely(seat->wayl->text_input_manager == NULL)) if (unlikely(seat->wayl->text_input_manager == NULL))
return; return;
@ -353,6 +353,8 @@ ime_send_cursor_rect(struct seat *seat, struct terminal *term)
if (!seat->ime.focused) if (!seat->ime.focused)
return; return;
struct terminal *term = seat->kbd_focus;
if (!term->ime_enabled) if (!term->ime_enabled)
return; return;
@ -437,8 +439,10 @@ ime_disable(struct seat *seat)
} }
void void
ime_update_cursor_rect(struct seat *seat, struct terminal *term) ime_update_cursor_rect(struct seat *seat)
{ {
struct terminal *term = seat->kbd_focus;
/* Set in render_ime_preedit() */ /* Set in render_ime_preedit() */
if (seat->ime.preedit.cells != NULL) if (seat->ime.preedit.cells != NULL)
goto update; goto update;
@ -469,7 +473,7 @@ ime_update_cursor_rect(struct seat *seat, struct terminal *term)
seat->ime.cursor_rect.pending.height = height; seat->ime.cursor_rect.pending.height = height;
update: update:
ime_send_cursor_rect(seat, term); ime_send_cursor_rect(seat);
} }
const struct zwp_text_input_v3_listener text_input_listener = { const struct zwp_text_input_v3_listener text_input_listener = {
@ -485,12 +489,11 @@ const struct zwp_text_input_v3_listener text_input_listener = {
void ime_enable(struct seat *seat) {} void ime_enable(struct seat *seat) {}
void ime_disable(struct seat *seat) {} void ime_disable(struct seat *seat) {}
void ime_update_cursor_rect(struct seat *seat, struct terminal *term) {} void ime_update_cursor_rect(struct seat *seat) {}
void ime_reset_pending_preedit(struct seat *seat) {} void ime_reset_pending_preedit(struct seat *seat) {}
void ime_reset_pending_commit(struct seat *seat) {} void ime_reset_pending_commit(struct seat *seat) {}
void ime_reset_pending(struct seat *seat) {} void ime_reset_pending(struct seat *seat) {}
void ime_reset_preedit(struct seat *seat) {} void ime_reset_preedit(struct seat *seat) {}
void ime_send_cursor_rect(struct seat *seat, struct terminal *term) {}
#endif #endif

3
ime.h
View file

@ -13,10 +13,9 @@ struct terminal;
void ime_enable(struct seat *seat); void ime_enable(struct seat *seat);
void ime_disable(struct seat *seat); void ime_disable(struct seat *seat);
void ime_update_cursor_rect(struct seat *seat, struct terminal *term); void ime_update_cursor_rect(struct seat *seat);
void ime_reset_pending_preedit(struct seat *seat); void ime_reset_pending_preedit(struct seat *seat);
void ime_reset_pending_commit(struct seat *seat); void ime_reset_pending_commit(struct seat *seat);
void ime_reset_pending(struct seat *seat); void ime_reset_pending(struct seat *seat);
void ime_reset_preedit(struct seat *seat); void ime_reset_preedit(struct seat *seat);
void ime_send_cursor_rect(struct seat *seat, struct terminal *term);

View file

@ -2739,7 +2739,7 @@ frame_callback(void *data, struct wl_callback *wl_callback, uint32_t callback_da
tll_foreach(term->wl->seats, it) { tll_foreach(term->wl->seats, it) {
if (it->item.kbd_focus == term) if (it->item.kbd_focus == term)
ime_update_cursor_rect(&it->item, term); ime_update_cursor_rect(&it->item);
} }
term->grid = original_grid; term->grid = original_grid;
@ -3195,7 +3195,7 @@ fdm_hook_refresh_pending_terminals(struct fdm *fdm, void *data)
tll_foreach(term->wl->seats, it) { tll_foreach(term->wl->seats, it) {
if (it->item.kbd_focus == term) if (it->item.kbd_focus == term)
ime_update_cursor_rect(&it->item, term); ime_update_cursor_rect(&it->item);
} }
term->grid = original_grid; term->grid = original_grid;