X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ncurses%2Fbase%2Fresizeterm.c;h=eb2dd737f94c883b1995e4705eaff3e176c8eeb2;hp=b2cff21677bb838bb97a0bb795a045c9c28988b3;hb=c4d90db4f4e50bb8a971955ce4812262da4a50bc;hpb=8144a95f5729b46a1ad4f4c3c4ba29800304e4c0;ds=sidebyside diff --git a/ncurses/base/resizeterm.c b/ncurses/base/resizeterm.c index b2cff216..eb2dd737 100644 --- a/ncurses/base/resizeterm.c +++ b/ncurses/base/resizeterm.c @@ -41,7 +41,7 @@ #include #include -MODULE_ID("$Id: resizeterm.c,v 1.28 2008/01/06 01:23:36 tom Exp $") +MODULE_ID("$Id: resizeterm.c,v 1.30 2008/01/12 22:26:56 tom Exp $") #define stolen_lines (screen_lines - SP->_lines_avail) @@ -210,24 +210,22 @@ adjust_window(WINDOW *win, int ToLines, int ToCols, int stolen EXTRA_DCLS) */ win->_begy += (ToLines - CurLines); } else { - if (myLines == CurLines - stolen - && ToLines != CurLines) + if (myLines == (CurLines - stolen) + && ToLines != CurLines) { myLines = ToLines - stolen; - else if (myLines == CurLines - && ToLines != CurLines) + } else if (myLines == CurLines + && ToLines != CurLines) { myLines = ToLines; + } } - if (myLines > ToLines) + if (myLines > ToLines) { myLines = ToLines; + } if (myCols > ToCols) myCols = ToCols; - if (myLines == CurLines - && ToLines != CurLines) - myLines = ToLines; - if (myCols == CurCols && ToCols != CurCols) myCols = ToCols; @@ -425,6 +423,10 @@ resizeterm(int ToLines, int ToCols) /* ripped-off lines are a special case: if we did not lengthen * them, we haven't moved them either. repaint them, too. + * + * for the rest - stdscr and other windows - the client has to + * decide which to repaint, since without panels, ncurses does + * not know which are really on top. */ for (rop = ripoff_stack; (rop - ripoff_stack) < N_RIPS; rop++) { if (rop->win != stdscr