summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author dankan1890 <mewuidev2@gmail.com>2016-03-03 01:52:34 +0100
committer dankan1890 <mewuidev2@gmail.com>2016-03-03 01:52:34 +0100
commit6d4f62703558fdf53edfcf26656f44699bb6df90 (patch)
tree7fc81f940fd1287bcec9327d233528b17aae1ad4 /src
parent028b4c5b216073566fc9660f7e21bf9a8e9c5e40 (diff)
menu: fixed top line computation. (nw)
Diffstat (limited to 'src')
-rw-r--r--src/emu/ui/filesel.cpp4
-rw-r--r--src/emu/ui/menu.cpp2
2 files changed, 3 insertions, 3 deletions
diff --git a/src/emu/ui/filesel.cpp b/src/emu/ui/filesel.cpp
index 18555c4809b..ec8d4c2ea22 100644
--- a/src/emu/ui/filesel.cpp
+++ b/src/emu/ui/filesel.cpp
@@ -712,7 +712,7 @@ void ui_menu_file_selector::handle()
// from current entry to the end
for (entry = cur_selected; entry != nullptr; entry = entry->next)
{
- if (entry->basename != nullptr && m_filename_buffer != nullptr)
+ if (entry->basename != nullptr && m_filename_buffer[0] != '\0')
{
int match = 0;
for (int i = 0; i < ARRAY_LENGTH(m_filename_buffer); i++)
@@ -731,7 +731,7 @@ void ui_menu_file_selector::handle()
// and from the first entry to current one
for (entry = m_entrylist; entry != cur_selected; entry = entry->next)
{
- if (entry->basename != nullptr && m_filename_buffer != nullptr)
+ if (entry->basename != nullptr && m_filename_buffer[0] != '\0')
{
int match = 0;
for (int i = 0; i < ARRAY_LENGTH(m_filename_buffer); i++)
diff --git a/src/emu/ui/menu.cpp b/src/emu/ui/menu.cpp
index f6154c41638..56c41062afd 100644
--- a/src/emu/ui/menu.cpp
+++ b/src/emu/ui/menu.cpp
@@ -544,7 +544,7 @@ void ui_menu::draw(bool customonly, bool noimage, bool noinput)
machine().ui().draw_outlined_box(container, x1, y1, x2, y2, UI_BACKGROUND_COLOR);
// determine the first visible line based on the current selection
- if (selected > top_line + visible_lines)
+ if (selected > top_line + visible_lines || selected < top_line - visible_lines)
top_line = selected - (visible_lines / 2);
if (top_line < 0 || selected == 0)
top_line = 0;