From 9166e7eb976a9106013e32a2e352972a6fd66d0b Mon Sep 17 00:00:00 2001 From: Nathan Woods Date: Sat, 2 Jul 2016 16:03:38 -0400 Subject: [PATCH] Fixed issue whereby the determination that one cannot create files in an archive was done once, and didn't change if the user changed directories --- src/frontend/mame/ui/filesel.cpp | 2 +- src/frontend/mame/ui/imgcntrl.cpp | 10 +--------- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/src/frontend/mame/ui/filesel.cpp b/src/frontend/mame/ui/filesel.cpp index 87429ac7218..b1a2ec6191d 100644 --- a/src/frontend/mame/ui/filesel.cpp +++ b/src/frontend/mame/ui/filesel.cpp @@ -560,7 +560,7 @@ void menu_file_selector::populate() append_entry(SELECTOR_ENTRY_TYPE_EMPTY, "", ""); } - if (m_has_create) + if (m_has_create && !util::zippath_is_zip(directory)) { // add the "[create]" entry append_entry(SELECTOR_ENTRY_TYPE_CREATE, "", ""); diff --git a/src/frontend/mame/ui/imgcntrl.cpp b/src/frontend/mame/ui/imgcntrl.cpp index 06ad1e157b2..41765c49b13 100644 --- a/src/frontend/mame/ui/imgcntrl.cpp +++ b/src/frontend/mame/ui/imgcntrl.cpp @@ -177,16 +177,8 @@ void menu_control_device_image::handle() { switch(state) { case START_FILE: { - bool can_create = false; - if(image->is_creatable()) { - util::zippath_directory *directory = nullptr; - osd_file::error err = util::zippath_opendir(current_directory.c_str(), &directory); - can_create = err == osd_file::error::NONE && !util::zippath_is_zip(directory); - if(directory) - util::zippath_closedir(directory); - } submenu_result = -1; - menu::stack_push(ui(), container, image, current_directory, current_file, true, image->image_interface()!=nullptr, can_create, &submenu_result); + menu::stack_push(ui(), container, image, current_directory, current_file, true, image->image_interface()!=nullptr, image->is_creatable(), &submenu_result); state = SELECT_FILE; break; }