From f44e1046dd5fafc71ac481490633ae544c5e5b0c Mon Sep 17 00:00:00 2001 From: Christian Heller Date: Sat, 31 Aug 2013 03:53:28 +0200 Subject: [PATCH] Moved freeing of winmeta into windows library. --- src/rexit.c | 5 ++--- src/windows.c | 8 ++++++++ src/windows.h | 3 ++- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/rexit.c b/src/rexit.c index 8b32d4a..5640d89 100644 --- a/src/rexit.c +++ b/src/rexit.c @@ -10,7 +10,7 @@ #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() */ @@ -67,8 +67,7 @@ static void cleanup(struct World * world) } 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) { diff --git a/src/windows.c b/src/windows.c index df67411..389637b 100644 --- a/src/windows.c +++ b/src/windows.c @@ -440,6 +440,14 @@ extern uint8_t init_win(struct WinMeta * wmeta, struct Win ** wp, char * title, +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) diff --git a/src/windows.h b/src/windows.h index aedb30b..5ec4d2f 100644 --- a/src/windows.h +++ b/src/windows.h @@ -119,7 +119,8 @@ extern uint8_t init_win(struct WinMeta * wmeta, struct Win ** w, char * title, -/* 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); -- 2.30.2