+ 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)) {
+ found = TRUE;
+ break;
+ }
+ }
+
+ if (!found) {
+ if (delwin(p_win) != ERR)
+ deleted = TRUE;
+ break;
+ }
+ }
+
+ /*
+ * Don't continue to loop if the list is trashed.
+ */
+ if (!deleted)
+ break;