#include "map.h" /* for Map struct */
 #include "keybindings.h" /* for KeysWinData, KeyBinding structs */
 #include "command_db.h" /* for free_command_db() */
-#include "windows.h" /* for Win struct, free_win() */
+#include "windows.h" /* for Win struct, free_win(), free_winmeta() */
 #include "map_objects.h" /* for free_item_defs(), free_monster_defs() */
 
 
     }
     if (cleanup_flags & CLEANUP_WIN_META)
     {
-        delwin(world->wins.meta->padframe.curses_win);
-        free(world->wins.meta);
+        free_winmeta(world->wins.meta);
     }
     if (cleanup_flags & CLEANUP_MAP_OBJECT_DEFS)
     {
 
 
 
 
+extern void free_winmeta(struct WinMeta * wmeta)
+{
+    delwin(wmeta->padframe.curses_win);
+    free(wmeta);
+}
+
+
+
 extern void free_win(struct Win * win)
 {
     if (0 != win->frame.curses_win)
 
 
 
 
-/* Free allocated memory for an initialized Win struct. */
+/* Free allocated memory for an initialized Win / WinMeta struct. */
+extern void free_winmeta(struct WinMeta * wmeta);
 extern void free_win(struct Win * win);