From fdbea950f1054d2ab5617373f8e21253589795bb Mon Sep 17 00:00:00 2001 From: Twinaphex Date: Sat, 18 Aug 2012 01:13:00 +0200 Subject: [PATCH] (Filebrowser) Do dir_list_free in parse_directory --- console/fileio/file_browser.c | 3 +++ console/rmenu/rmenu.c | 26 +++++++++++++------------- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/console/fileio/file_browser.c b/console/fileio/file_browser.c index 30e43d5bc8..33f6e206d9 100644 --- a/console/fileio/file_browser.c +++ b/console/fileio/file_browser.c @@ -26,6 +26,9 @@ const char * path, const char * extensions) strlcpy(filebrowser->dir[stack_size], path, sizeof(filebrowser->dir[stack_size])); + if(filebrowser->current_dir.list != NULL) + dir_list_free(filebrowser->current_dir.list); + filebrowser->current_dir.list = list; filebrowser->current_dir.ptr = 0; diff --git a/console/rmenu/rmenu.c b/console/rmenu/rmenu.c index 75fbf7c97f..a380f73033 100644 --- a/console/rmenu/rmenu.c +++ b/console/rmenu/rmenu.c @@ -2297,6 +2297,19 @@ static void ingame_menu(item *items, menu *current_menu, uint64_t input) #endif } +static void rmenu_filebrowser_init(void) +{ + menu_stack_push(rmenu_items, FILE_BROWSER_MENU); + filebrowser_set_root_and_ext(&browser, rarch_console_get_rom_ext(), default_paths.filebrowser_startup_dir); + filebrowser_set_root(&tmpBrowser, default_paths.filesystem_root_dir); +} + +static void rmenu_filebrowser_free(void) +{ + filebrowser_free(&browser); + filebrowser_free(&tmpBrowser); +} + void menu_init (void) { DEVICE_CAST device_ptr = (DEVICE_CAST)driver.video_data; @@ -2311,19 +2324,6 @@ void menu_init (void) rmenu_filebrowser_init(); } -static void rmenu_filebrowser_init(void) -{ - menu_stack_push(rmenu_items, FILE_BROWSER_MENU); - filebrowser_set_root_and_ext(&browser, rarch_console_get_rom_ext(), default_paths.filebrowser_startup_dir); - filebrowser_set_root(&tmpBrowser, default_paths.filesystem_root_dir); -} - -static void rmenu_filebrowser_free(void) -{ - filebrowser_free(&browser); - filebrowser_free(&tmpBrowser); -} - void menu_free (void) { rmenu_filebrowser_free();