X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/fbf6cb3b1fcbb6c3a19dd61d308d116878ed2d3d..f5dd8adbec0c362f609e2f115ff5859ce4969d09:/terminal.c diff --git a/terminal.c b/terminal.c index bcf202e5..82a90deb 100644 --- a/terminal.c +++ b/terminal.c @@ -321,8 +321,15 @@ void term_reconfig(Terminal *term, Config *cfg) term->alt_wrap = term->wrap = term->cfg.wrap_mode; if (reset_decom) term->alt_om = term->dec_om = term->cfg.dec_om; - if (reset_bce) + if (reset_bce) { term->use_bce = term->cfg.bce; + if (term->use_bce) + term->erase_char = (' ' | ATTR_ASCII | + (term->curr_attr & + (ATTR_FGMASK | ATTR_BGMASK))); + else + term->erase_char = ERASE_CHAR; + } if (reset_blink) term->blink_is_real = term->cfg.blinktext; if (reset_charclass) @@ -2604,7 +2611,8 @@ void term_out(Terminal *term) */ break; case 20: - if (term->ldisc) { + if (term->ldisc && + !term->cfg.no_remote_qtitle) { p = get_window_title(term->frontend, TRUE); len = strlen(p); ldisc_send(term->ldisc, "\033]L", 3, 0); @@ -2613,7 +2621,8 @@ void term_out(Terminal *term) } break; case 21: - if (term->ldisc) { + if (term->ldisc && + !term->cfg.no_remote_qtitle) { p = get_window_title(term->frontend,FALSE); len = strlen(p); ldisc_send(term->ldisc, "\033]l", 3, 0); @@ -4511,7 +4520,7 @@ void term_key(Terminal *term, Key_Sym keysym, wchar_t *text, size_t tlen, case PK_END: xkey = 'E'; break; case PK_PAGEUP: xkey = 'I'; break; case PK_PAGEDOWN: xkey = 'G'; break; - default: break; /* else gcc warns `enum value not used' */ + default: xkey=0; break; /* else gcc warns `enum value not used'*/ } p += sprintf((char *) p, "\x1B%c", xkey); goto done; @@ -4524,7 +4533,7 @@ void term_key(Terminal *term, Key_Sym keysym, wchar_t *text, size_t tlen, case PK_END: code = 4; break; case PK_PAGEUP: code = 5; break; case PK_PAGEDOWN: code = 6; break; - default: break; /* else gcc warns `enum value not used' */ + default: code = 0; break; /* else gcc warns `enum value not used' */ } p += sprintf((char *) p, "\x1B[%d~", code); goto done;