From 6875012f329f5b1081c95cca8b1cea6e747302c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Banaan=20Ananas?= Date: Wed, 30 Jul 2014 14:24:38 +0000 Subject: [PATCH] render_screen_list::contains - instead of false/true, return number of same indices found in view --- src/emu/render.c | 4 ++-- src/emu/render.h | 7 ++++--- 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: