diff --git a/frontend/menu/menu_common.c b/frontend/menu/menu_common.c index 2d5b8f64f5..b33883f2da 100644 --- a/frontend/menu/menu_common.c +++ b/frontend/menu/menu_common.c @@ -155,7 +155,7 @@ static bool directory_parse(void *data, const char *path) } -void filebrowser_free(void *data) +static void filebrowser_free(void *data) { filebrowser_t *filebrowser = (filebrowser_t*)data; @@ -334,4 +334,10 @@ void menu_init(void) void menu_free(void) { rgui_free(rgui); + +#ifdef HAVE_FILEBROWSER + filebrowser_free(rgui->browser); +#endif + + free(rgui); } diff --git a/frontend/menu/rgui.c b/frontend/menu/rgui.c index ae85d456e2..85dead863f 100644 --- a/frontend/menu/rgui.c +++ b/frontend/menu/rgui.c @@ -230,8 +230,6 @@ void rgui_free(rgui_handle_t *rgui) #ifdef HAVE_DYNAMIC libretro_free_system_info(&rgui->info); #endif - - free(rgui); } static uint16_t gray_filler(unsigned x, unsigned y) diff --git a/frontend/menu/rmenu.c b/frontend/menu/rmenu.c index cd144b5fd8..aa15d5b333 100644 --- a/frontend/menu/rmenu.c +++ b/frontend/menu/rmenu.c @@ -3308,9 +3308,6 @@ void rgui_free(rgui_handle_t *rgui) menu_texture->pixels = NULL; } #endif - - filebrowser_free(rgui->browser); - free(rgui); } bool menu_iterate(void) diff --git a/frontend/menu/rmenu_xui.cpp b/frontend/menu/rmenu_xui.cpp index 9074cad8bc..00a2890597 100644 --- a/frontend/menu/rmenu_xui.cpp +++ b/frontend/menu/rmenu_xui.cpp @@ -1364,7 +1364,6 @@ rgui_handle_t *rgui_init (void) void rgui_free (rgui_handle_t *rgui) { - filebrowser_free(rgui->browser); app.Uninit(); } diff --git a/frontend/menu/utils/file_browser.h b/frontend/menu/utils/file_browser.h index 7ea6559f18..a4bef8b68c 100644 --- a/frontend/menu/utils/file_browser.h +++ b/frontend/menu/utils/file_browser.h @@ -52,7 +52,6 @@ typedef enum } filebrowser_action_t; void filebrowser_set_root_and_ext(void *data, const char *ext, const char *root_dir); -void filebrowser_free(void *data); bool filebrowser_iterate(void *data, unsigned action); #endif /* FILEBROWSER_H_ */