X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ncurses%2Fbase%2Fresizeterm.c;h=02057b18f0e9f4bae52afbdea046f536938c5aab;hp=61761bfa65b7339e53cc89aed8f30d689034b9b7;hb=491a3f08b795f494ae17179338c31a11b18fd433;hpb=28e9f9700c7bf7280cf9d71304a880b570a0b4ea diff --git a/ncurses/base/resizeterm.c b/ncurses/base/resizeterm.c index 61761bfa..02057b18 100644 --- a/ncurses/base/resizeterm.c +++ b/ncurses/base/resizeterm.c @@ -41,7 +41,7 @@ #include #include -MODULE_ID("$Id: resizeterm.c,v 1.22 2007/09/29 20:37:13 tom Exp $") +MODULE_ID("$Id: resizeterm.c,v 1.23 2007/10/13 20:12:13 tom Exp $") #define stolen_lines (screen_lines - SP->_lines_avail) @@ -250,12 +250,16 @@ NCURSES_EXPORT(int) resize_term(int ToLines, int ToCols) { int result = OK EXTRA_ARGS; - int was_stolen = (screen_lines - SP->_lines_avail); + int was_stolen; T((T_CALLED("resize_term(%d,%d) old(%d,%d)"), ToLines, ToCols, screen_lines, screen_columns)); + if (SP == 0) { + returnCode(ERR); + } + was_stolen = (screen_lines - SP->_lines_avail); if (is_term_resized(ToLines, ToCols)) { int myLines = CurLines = screen_lines; int myCols = CurCols = screen_columns; @@ -325,22 +329,25 @@ resize_term(int ToLines, int ToCols) NCURSES_EXPORT(int) resizeterm(int ToLines, int ToCols) { - int result = OK; - - SP->_sig_winch = FALSE; + int result = ERR; T((T_CALLED("resizeterm(%d,%d) old(%d,%d)"), ToLines, ToCols, screen_lines, screen_columns)); - if (is_term_resized(ToLines, ToCols)) { + if (SP != 0) { + result = OK; + SP->_sig_winch = FALSE; + + if (is_term_resized(ToLines, ToCols)) { #if USE_SIGWINCH - ungetch(KEY_RESIZE); /* so application can know this */ - clearok(curscr, TRUE); /* screen contents are unknown */ + ungetch(KEY_RESIZE); /* so application can know this */ + clearok(curscr, TRUE); /* screen contents are unknown */ #endif - result = resize_term(ToLines, ToCols); + result = resize_term(ToLines, ToCols); + } } returnCode(result);