Mercurial > repos > blastem
changeset 1691:e96d0d3bec7f
Don't leak a system context when a game is unloaded
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Sun, 20 Jan 2019 22:48:16 -0800 |
parents | 319d90025d50 |
children | ba3fb7a3be6b |
files | libblastem.c |
diffstat | 1 files changed, 8 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/libblastem.c Sun Jan 20 22:19:58 2019 -0800 +++ b/libblastem.c Sun Jan 20 22:48:16 2019 -0800 @@ -56,6 +56,9 @@ RETRO_API void retro_deinit(void) { + if (current_system) { + retro_unload_game(); + } } RETRO_API unsigned retro_api_version(void) @@ -185,11 +188,14 @@ /* Unloads a currently loaded game. */ RETRO_API void retro_unload_game(void) { - free(media.dir); free(media.name); free(media.extension); - + media.dir = media.name = media.extension = NULL; + //buffer is freed by the context + media.buffer = NULL; + current_system->free_context(current_system); + current_system = NULL; } /* Gets region of game. */