X-Git-Url: https://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=ncurses%2Fbase%2Flib_freeall.c;h=75bbe77e34093be4c4efa70b4a40f18da2abaac1;hb=e2c422e26543d96636d8bde422550ea9c7005e9c;hp=c02715156a11c9eaa55aa292d692b260ae3c344b;hpb=6830dca51a4e50d41e7bd114bdbaa857b42a46f4;p=ncurses.git diff --git a/ncurses/base/lib_freeall.c b/ncurses/base/lib_freeall.c index c0271515..75bbe77e 100644 --- a/ncurses/base/lib_freeall.c +++ b/ncurses/base/lib_freeall.c @@ -40,7 +40,7 @@ extern int malloc_errfd; /* FIXME */ #endif -MODULE_ID("$Id: lib_freeall.c,v 1.74 2021/03/20 22:57:53 tom Exp $") +MODULE_ID("$Id: lib_freeall.c,v 1.76 2021/11/06 21:52:49 tom Exp $") /* * Free all ncurses data. This is used for testing only (there's no practical @@ -78,6 +78,9 @@ NCURSES_SP_NAME(_nc_freeall) (NCURSES_SP_DCL0) WINDOW *p_win = &(p->win); bool found = FALSE; + if (IS_PAD(p_win)) + continue; + #ifndef USE_SP_WINDOWLIST if (p->screen != SP_PARM) continue; @@ -92,7 +95,7 @@ NCURSES_SP_NAME(_nc_freeall) (NCURSES_SP_DCL0) #endif if ((p != q) - && (q_win->_flags & _SUBWIN) + && IS_SUBWIN(q_win) && (p_win == q_win->_parent)) { found = TRUE; break;