]> asedeno.scripts.mit.edu Git - PuTTY.git/blobdiff - terminal.c
first pass
[PuTTY.git] / terminal.c
index 7a444b7192647b1841fec3fe6aa6f0a79128d70a..c79944cda889cb8822be342b4557bebc38de85a9 100644 (file)
@@ -1403,6 +1403,7 @@ void term_copy_stuff_from_conf(Terminal *term)
     term->no_remote_charset = conf_get_int(term->conf, CONF_no_remote_charset);
     term->no_remote_resize = conf_get_int(term->conf, CONF_no_remote_resize);
     term->no_remote_wintitle = conf_get_int(term->conf, CONF_no_remote_wintitle);
+    term->no_remote_clearscroll = conf_get_int(term->conf, CONF_no_remote_clearscroll);
     term->rawcnp = conf_get_int(term->conf, CONF_rawcnp);
     term->rect_select = conf_get_int(term->conf, CONF_rect_select);
     term->remote_qtitle_action = conf_get_int(term->conf, CONF_remote_qtitle_action);
@@ -3606,7 +3607,8 @@ static void term_out(Terminal *term)
                            if (i == 3) {
                                /* Erase Saved Lines (xterm)
                                 * This follows Thomas Dickey's xterm. */
-                               term_clrsb(term);
+                                if (!term->no_remote_clearscroll)
+                                    term_clrsb(term);
                            } else {
                                i++;
                                if (i > 3)
@@ -5445,7 +5447,7 @@ typedef struct {
 static void clip_addchar(clip_workbuf *b, wchar_t chr, int attr)
 {
     if (b->bufpos >= b->buflen) {
-       b->buflen += 128;
+       b->buflen *= 2;
        b->textbuf = sresize(b->textbuf, b->buflen, wchar_t);
        b->textptr = b->textbuf + b->bufpos;
        b->attrbuf = sresize(b->attrbuf, b->buflen, int);