In term_init(), copy stuff out of the conf _before_ calling
[u/mdw/putty] / terminal.c
index 9865355..08ce42e 100644 (file)
@@ -1538,6 +1538,8 @@ Terminal *term_init(Conf *myconf, struct unicode_data *ucsdata,
     term->selstate = NO_SELECTION;
     term->curstype = 0;
 
+    term_copy_stuff_from_conf(term);
+
     term->screen = term->alt_screen = term->scrollback = NULL;
     term->tempsblines = 0;
     term->alt_sblines = 0;
@@ -1576,8 +1578,6 @@ Terminal *term_init(Conf *myconf, struct unicode_data *ucsdata,
     term->basic_erase_char.cc_next = 0;
     term->erase_char = term->basic_erase_char;
 
-    term_copy_stuff_from_conf(term);
-
     return term;
 }
 
@@ -5016,7 +5016,9 @@ static void do_paint(Terminal *term, Context ctx, int may_optimise)
            break_run = ((tattr ^ attr) & term->attr_mask) != 0;
 
            /* Special hack for VT100 Linedraw glyphs */
-           if (tchar >= 0x23BA && tchar <= 0x23BD)
+           if ((tchar >= 0x23BA && tchar <= 0x23BD) ||
+                (j > 0 && (newline[j-1].chr >= 0x23BA &&
+                           newline[j-1].chr <= 0x23BD)))
                break_run = TRUE;
 
            /*