X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/putty/blobdiff_plain/900f9acaaf49b03e188c429b7ab8183eae207b54..6cc1b78c02d74f9432e719d2e3e79b42d00e119e:/terminal.c?ds=inline diff --git a/terminal.c b/terminal.c index d23f0544..806d650c 100644 --- a/terminal.c +++ b/terminal.c @@ -1,3 +1,7 @@ +/* + * Terminal emulator. + */ + #include #include #include @@ -4093,7 +4097,7 @@ static void term_out(Terminal *term) break; case SEEN_OSC_P: { - int max = (term->osc_strlen == 0 ? 21 : 16); + int max = (term->osc_strlen == 0 ? 21 : 15); int val; if ((int)c >= '0' && (int)c <= '9') val = c - '0'; @@ -4822,10 +4826,12 @@ static void do_paint(Terminal *term, Context ctx, int may_optimise) != newline[j].attr) { int k; - for (k = laststart; k < j; k++) - term->disptext[i]->chars[k].attr |= ATTR_INVALID; + if (!dirtyrect) { + for (k = laststart; k < j; k++) + term->disptext[i]->chars[k].attr |= ATTR_INVALID; - dirtyrect = TRUE; + dirtyrect = TRUE; + } } if (dirtyrect)