X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/a832773496d46caa5e328d36a15b4918f24a804e..e63ae276e98f0b99468fc34c3671cd3c69701ecf:/terminal.c diff --git a/terminal.c b/terminal.c index 738c7540..d57218a7 100644 --- a/terminal.c +++ b/terminal.c @@ -319,6 +319,7 @@ Terminal *term_init(void *frontend) term->repeat_off = FALSE; term->termstate = TOPLEVEL; term->selstate = NO_SELECTION; + term->curstype = 0; term->screen = term->alt_screen = term->scrollback = NULL; term->disptop = 0; @@ -1372,12 +1373,12 @@ void term_out(Terminal *term) * Perform an actual beep if we're not overloaded. */ if (!cfg.bellovl || !term->beep_overloaded) { + beep(term->frontend, cfg.beep); if (cfg.beep == BELL_VISUAL) { term->in_vbell = TRUE; term->vbell_startpoint = ticks; term_update(term); - } else - beep(term->frontend, cfg.beep); + } } term->disptop = 0; } @@ -2982,7 +2983,7 @@ static void do_paint(Terminal *term, Context ctx, int may_optimise) */ if ((tchar | tattr) != (term->disptext[idx]& ~ATTR_NARROW)) { if ((tattr & ATTR_WIDE) == 0 && - CharWidth(ctx, (tchar | tattr) & 0xFFFF) == 2) + char_width(ctx, (tchar | tattr) & 0xFFFF) == 2) tattr |= ATTR_NARROW; } else if (term->disptext[idx]&ATTR_NARROW) tattr |= ATTR_NARROW; @@ -3106,7 +3107,7 @@ void term_invalidate(Terminal *term) * Paint the window in response to a WM_PAINT message. */ void term_paint(Terminal *term, Context ctx, - int left, int top, int right, int bottom) + int left, int top, int right, int bottom, int immediately) { int i, j; if (left < 0) left = 0; @@ -3128,7 +3129,7 @@ void term_paint(Terminal *term, Context ctx, * fails to actually do anything when re-sizing ... painting the wrong * window perhaps ? */ - if (alt_pressed) + if (immediately) do_paint (term, ctx, FALSE); } @@ -3250,12 +3251,12 @@ static void clipme(Terminal *term, pos top, pos bottom, int rect) if (DIRECT_FONT(uc)) { if (c >= ' ' && c != 0x7F) { - unsigned char buf[4]; + char buf[4]; WCHAR wbuf[4]; int rv; if (is_dbcs_leadbyte(font_codepage, (BYTE) c)) { buf[0] = c; - buf[1] = (unsigned char) ldata[top.x + 1]; + buf[1] = ldata[top.x + 1]; rv = mb_to_wc(font_codepage, 0, buf, 2, wbuf, 4); top.x++; } else {