mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-01-25 01:02:24 +00:00
Fix cursor display on a combined character cell.
[originally from svn r4625]
This commit is contained in:
parent
557256c38e
commit
db54732e38
@ -2717,6 +2717,7 @@ void term_out(Terminal *term)
|
||||
break;
|
||||
case 0:
|
||||
add_cc(cline, term->curs.x - !term->wrapnext, c);
|
||||
term->seen_disp_event = 1;
|
||||
continue;
|
||||
default:
|
||||
continue;
|
||||
@ -4559,6 +4560,7 @@ static void do_paint(Terminal *term, Context ctx, int may_optimise)
|
||||
if (i == our_curs_y && (term->curstype != cursor || updated_line)) {
|
||||
ch[0] = (wchar_t) cursor_background.chr;
|
||||
attr = cursor_background.attr | cursor;
|
||||
ccount = 1;
|
||||
|
||||
if (cursor_background.cc_next) {
|
||||
termchar *dd = ldata->chars + cursor_background.cc_next;
|
||||
@ -4594,7 +4596,7 @@ static void do_paint(Terminal *term, Context ctx, int may_optimise)
|
||||
attr |= TATTR_COMBINING;
|
||||
}
|
||||
|
||||
do_cursor(ctx, our_curs_x, i, ch, 1, attr, ldata->lattr);
|
||||
do_cursor(ctx, our_curs_x, i, ch, ccount, attr, ldata->lattr);
|
||||
term->curstype = cursor;
|
||||
}
|
||||
|
||||
|
@ -2049,6 +2049,9 @@ void do_cursor(Context ctx, int x, int y, wchar_t *text, int len,
|
||||
active = 0;
|
||||
do_text_internal(ctx, x, y, text, len, attr, lattr);
|
||||
|
||||
if (attr & TATTR_COMBINING)
|
||||
len = 1;
|
||||
|
||||
if (attr & ATTR_WIDE) {
|
||||
widefactor = 2;
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user