summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
author Vas Crabb <cuavas@users.noreply.github.com>2016-07-03 22:19:20 +1000
committer GitHub <noreply@github.com>2016-07-03 22:19:20 +1000
commit711eb65ece25eb918a63db94e390a26df21ef9fb (patch)
tree9157d865ec638efeb21f27f9b305def6edb3c7ba /src
parent409d5e0d64e1eccb55654c2a72399e355b832fe2 (diff)
parent9166e7eb976a9106013e32a2e352972a6fd66d0b (diff)
Merge pull request #1031 from npwoods/fix_create_determination
Fixes how the file selection dialog determines when to show [create]
Diffstat (limited to 'src')
-rw-r--r--src/frontend/mame/ui/filesel.cpp2
-rw-r--r--src/frontend/mame/ui/imgcntrl.cpp10
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<menu_file_selector>(ui(), container, image, current_directory, current_file, true, image->image_interface()!=nullptr, can_create, &submenu_result);
+ menu::stack_push<menu_file_selector>(ui(), container, image, current_directory, current_file, true, image->image_interface()!=nullptr, image->is_creatable(), &submenu_result);
state = SELECT_FILE;
break;
}