]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - ncurses/base/lib_freeall.c
ncurses 6.5 - patch 20240504
[ncurses.git] / ncurses / base / lib_freeall.c
index 9c0b5203194a04b6f73f88bfe116b3dad1e4900d..75bbe77e34093be4c4efa70b4a40f18da2abaac1 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright 2018-2019,2020 Thomas E. Dickey                                *
+ * Copyright 2018-2020,2021 Thomas E. Dickey                                *
  * Copyright 1998-2016,2017 Free Software Foundation, Inc.                  *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
@@ -40,7 +40,7 @@
 extern int malloc_errfd;       /* FIXME */
 #endif
 
-MODULE_ID("$Id: lib_freeall.c,v 1.73 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;