X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ncurses%2Fbase%2Flib_freeall.c;h=65c77aacfc3b0ecf7b05981932143218ed50cd5c;hp=8a13b407f699c285510f18f7f147daa08f30f52c;hb=2e68dc325852af56f2ec6c315b323a4f9c3d62c9;hpb=5eb177874dea59107a1a2ea44f5d8f5bb99550b2;ds=sidebyside diff --git a/ncurses/base/lib_freeall.c b/ncurses/base/lib_freeall.c index 8a13b407..65c77aac 100644 --- a/ncurses/base/lib_freeall.c +++ b/ncurses/base/lib_freeall.c @@ -39,7 +39,7 @@ extern int malloc_errfd; /* FIXME */ #endif -MODULE_ID("$Id: lib_freeall.c,v 1.65 2017/03/04 00:12:23 tom Exp $") +MODULE_ID("$Id: lib_freeall.c,v 1.66 2017/03/25 22:59:38 tom Exp $") /* * Free all ncurses data. This is used for testing only (there's no practical @@ -76,8 +76,19 @@ NCURSES_SP_NAME(_nc_freeall) (NCURSES_SP_DCL0) WINDOW *p_win = &(p->win); bool found = FALSE; +#ifndef USE_SP_WINDOWLIST + if (p->screen != SP_PARM) + continue; +#endif + for (each_window(SP_PARM, q)) { WINDOW *q_win = &(q->win); + +#ifndef USE_SP_WINDOWLIST + if (q->screen != SP_PARM) + continue; +#endif + if ((p != q) && (q_win->_flags & _SUBWIN) && (p_win == q_win->_parent)) {