If defaultbg != 0, the alt screen is cleared with the wrong
color.  The bug is fixed by avoiding to load a cursor that
might be 0 initialized.
---
 st.c | 11 ++---------
 1 file changed, 2 insertions(+), 9 deletions(-)

diff --git a/st.c b/st.c
index 8f19018..783965e 100644
--- a/st.c
+++ b/st.c
@@ -2661,8 +2661,6 @@ tresize(int col, int row) {
        int mincol = MIN(col, term.col);
        int slide = term.c.y - row + 1;
        bool *bp;
-       Line *orig;
-       TCursor c;
 
        if(col < 1 || row < 1) {
                fprintf(stderr,
@@ -2724,9 +2722,7 @@ tresize(int col, int row) {
        /* make use of the LIMIT in tmoveto */
        tmoveto(term.c.x, term.c.y);
        /* Clearing both screens (it makes dirty all lines) */
-       orig = term.line;
-       c = term.c;
-       do {
+       for(i = 1; i <= 2; i++) {
                if(mincol < col && 0 < minrow) {
                        tclearregion(mincol, 0, col - 1, minrow - 1);
                }
@@ -2734,9 +2730,7 @@ tresize(int col, int row) {
                        tclearregion(0, minrow, col - 1, row - 1);
                }
                tswapscreen();
-               tcursor(CURSOR_LOAD);
-       } while(orig != term.line);
-       term.c = c;
+       }
 }
 
 void
@@ -3933,4 +3927,3 @@ run:
 
        return 0;
 }
-
-- 
2.0.4


Reply via email to