summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/emu/render.c4
-rw-r--r--src/emu/render.h7
2 files changed, 6 insertions, 5 deletions
diff --git a/src/emu/render.c b/src/emu/render.c
index bfcd6fbe7b9..71fd90d281e 100644
--- a/src/emu/render.c
+++ b/src/emu/render.c
@@ -1072,13 +1072,13 @@ int render_target::configured_view(const char *viewname, int targetindex, int nu
for (view = view_by_index(viewindex = 0); view != NULL; view = view_by_index(++viewindex))
{
const render_screen_list &viewscreens = view->screens();
- if (viewscreens.count() == 1 && viewscreens.contains(*screen))
- break;
if (viewscreens.count() == 0)
{
view = NULL;
break;
}
+ else if (viewscreens.count() == viewscreens.contains(*screen))
+ break;
}
}
diff --git a/src/emu/render.h b/src/emu/render.h
index 381781f2ab9..2e5443bcd58 100644
--- a/src/emu/render.h
+++ b/src/emu/render.h
@@ -253,11 +253,12 @@ public:
void reset() { m_list.reset(); }
// query
- bool contains(screen_device &screen) const
+ int contains(screen_device &screen) const
{
+ int count = 0;
for (item *curitem = m_list.first(); curitem != NULL; curitem = curitem->m_next)
- if (&curitem->m_screen == &screen) return true;
- return false;
+ if (&curitem->m_screen == &screen) count++;
+ return count;
}
private: