Keyboard events in Mac OS 8 list boxes should generate EVENT_SELCHANGE,
[u/mdw/putty] / terminal.c
index 8e012f5..23123f8 100644 (file)
@@ -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);
@@ -4705,13 +4714,8 @@ int term_ldisc(Terminal *term, int option)
     return FALSE;
 }
 
-/*
- * from_backend(), to get data from the backend for the terminal.
- */
-int from_backend(void *vterm, int is_stderr, const char *data, int len)
+int term_data(Terminal *term, int is_stderr, const char *data, int len)
 {
-    Terminal *term = (Terminal *)vterm;
-
     assert(len > 0);
 
     bufchain_add(&term->inbuf, data, len);