free up some console alloc()'d memory under curses
tty takes care of this, but it wasn't being done under curses
This commit is contained in:
+1
-1
@@ -2182,7 +2182,7 @@ extern void synch_cursor(void);
|
||||
extern void nethack_enter_consoletty(void);
|
||||
extern int get_console_width(void);
|
||||
extern int get_console_height(void);
|
||||
extern void consoletty_exit(void);
|
||||
extern void console_exit(void);
|
||||
extern int set_keyhandling_via_option(void);
|
||||
#ifdef ENHANCED_SYMBOLS
|
||||
extern void tty_utf8graphics_fixup(void);
|
||||
|
||||
@@ -954,7 +954,7 @@ tty_number_pad(int state UNUSED)
|
||||
void
|
||||
term_shutdown(void)
|
||||
{
|
||||
consoletty_exit();
|
||||
console_exit();
|
||||
}
|
||||
|
||||
#ifdef ASCIIGRAPH
|
||||
@@ -1044,14 +1044,19 @@ consoletty_open(int mode UNUSED)
|
||||
extern void set_emergency_io(void);
|
||||
|
||||
void
|
||||
consoletty_exit(void)
|
||||
console_exit(void)
|
||||
{
|
||||
free_custom_colors();
|
||||
free((genericptr_t) console.front_buffer);
|
||||
free((genericptr_t) console.back_buffer);
|
||||
if (console.front_buffer)
|
||||
free((genericptr_t) console.front_buffer);
|
||||
if (console.back_buffer)
|
||||
free((genericptr_t) console.back_buffer);
|
||||
console.front_buffer = console.back_buffer = 0;
|
||||
free((genericptr_t) console.localestr);
|
||||
free((genericptr_t) console.orig_localestr);
|
||||
if (console.localestr)
|
||||
free((genericptr_t) console.localestr), console.localestr = 0;
|
||||
if (console.orig_localestr)
|
||||
free((genericptr_t) console.orig_localestr),
|
||||
console.orig_localestr = 0;
|
||||
set_emergency_io();
|
||||
}
|
||||
|
||||
|
||||
@@ -526,6 +526,13 @@ nethack_exit(int code)
|
||||
genl_status_finish();
|
||||
#ifdef MSWIN_GRAPHICS
|
||||
free_winmain_stuff();
|
||||
#endif
|
||||
#ifdef WIN32CON
|
||||
#ifdef CURSES_GRAPHICS
|
||||
if (WINDOWPORT(curses)) {
|
||||
console_exit();
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
exit(code);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user