X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ncurses%2Fbase%2Fresizeterm.c;h=8bea743a3d22552b0ea39441e6f2c37334291609;hp=02057b18f0e9f4bae52afbdea046f536938c5aab;hb=e0371a7943009d611a4dc080dcddfcdfba9f589b;hpb=491a3f08b795f494ae17179338c31a11b18fd433;ds=sidebyside diff --git a/ncurses/base/resizeterm.c b/ncurses/base/resizeterm.c index 02057b18..8bea743a 100644 --- a/ncurses/base/resizeterm.c +++ b/ncurses/base/resizeterm.c @@ -41,7 +41,7 @@ #include #include -MODULE_ID("$Id: resizeterm.c,v 1.23 2007/10/13 20:12:13 tom Exp $") +MODULE_ID("$Id: resizeterm.c,v 1.24 2007/12/22 23:20:31 tom Exp $") #define stolen_lines (screen_lines - SP->_lines_avail) @@ -66,6 +66,7 @@ show_window_sizes(const char *name) { WINDOWLIST *wp; + _nc_lock_global(windowlist); _tracef("%s resizing: %2d x %2d (%2d x %2d)", name, LINES, COLS, screen_lines, screen_columns); for (wp = _nc_windows; wp != 0; wp = wp->next) { @@ -76,6 +77,7 @@ show_window_sizes(const char *name) (long) wp->win._begy, (long) wp->win._begx); } + _nc_unlock_global(windowlist); } #endif @@ -259,6 +261,9 @@ resize_term(int ToLines, int ToCols) if (SP == 0) { returnCode(ERR); } + + _nc_lock_global(windowlist); + was_stolen = (screen_lines - SP->_lines_avail); if (is_term_resized(ToLines, ToCols)) { int myLines = CurLines = screen_lines; @@ -315,6 +320,8 @@ resize_term(int ToLines, int ToCols) SET_LINES(ToLines - was_stolen); SET_COLS(ToCols); + _nc_unlock_global(windowlist); + returnCode(result); }