diff options
Diffstat (limited to 'src/emu/ui/filesel.c')
-rw-r--r-- | src/emu/ui/filesel.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/emu/ui/filesel.c b/src/emu/ui/filesel.c index d017b7f1bc7..1ac5efe0d2a 100644 --- a/src/emu/ui/filesel.c +++ b/src/emu/ui/filesel.c @@ -54,7 +54,7 @@ static void input_character(char *buffer, size_t buffer_length, unicode_char uni { size_t buflen = strlen(buffer); - if ((unichar == 8) && (buflen > 0)) + if ((unichar == 8 || unichar == 0x7f) && (buflen > 0)) { *(char *)utf8_previous_char(&buffer[buflen]) = 0; } @@ -65,7 +65,6 @@ static void input_character(char *buffer, size_t buffer_length, unicode_char uni } } - //------------------------------------------------- // extra_text_draw_box - generically adds header // or footer text @@ -220,12 +219,14 @@ static int is_valid_filename_char(unicode_char unichar) // ctor //------------------------------------------------- -ui_menu_file_create::ui_menu_file_create(running_machine &machine, render_container *container, device_image_interface *image, astring ¤t_directory, astring ¤t_file) +ui_menu_file_create::ui_menu_file_create(running_machine &machine, render_container *container, device_image_interface *image, astring ¤t_directory, astring ¤t_file, bool *ok) : ui_menu(machine, container), m_current_directory(current_directory), m_current_file(current_file) { m_image = image; + m_ok = ok; + *m_ok = true; } @@ -328,12 +329,13 @@ void ui_menu_file_create::handle() reset(UI_MENU_RESET_REMEMBER_POSITION); } break; + case IPT_UI_CANCEL: + *m_ok = false; + break; } } } - - /*************************************************************************** FILE SELECTOR MENU ***************************************************************************/ |