diff options
Diffstat (limited to 'clients')
| -rw-r--r-- | clients/bokftui.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/clients/bokftui.c b/clients/bokftui.c index ceaf525..4895704 100644 --- a/clients/bokftui.c +++ b/clients/bokftui.c @@ -1738,7 +1738,12 @@ static int64_t vouchers_new(struct app *a) if (field == k) { attron(A_REVERSE); caret_y = hy[k]; - int cw = disp_width(hvals[k]); + size_t slen = strlen(hvals[k]); + size_t cp = (field_fresh || field_pos == (size_t)-1 || + field_pos > slen) + ? slen + : field_pos; + int cw = (int)disp_width_n(hvals[k], cp); caret_x = hx[k] + (cw > w ? w : cw); } mvaddstr(hy[k], hx[k], padded); @@ -2888,7 +2893,12 @@ static int template_form(struct app *a, const char *load_name) if (field == k) { attron(A_REVERSE); caret_y = hy[k]; - int cw = disp_width(hvals[k]); + size_t slen = strlen(hvals[k]); + size_t cp = (field_fresh || field_pos == (size_t)-1 || + field_pos > slen) + ? slen + : field_pos; + int cw = (int)disp_width_n(hvals[k], cp); caret_x = hx[k] + (cw > w ? w : cw); } mvaddstr(hy[k], hx[k], padded); |
