From e9e209a34c8607b74811cd1c08bbfef8cadd214e Mon Sep 17 00:00:00 2001 From: yz70s Date: Sun, 23 Jul 2017 15:04:13 +0200 Subject: [PATCH] In class consolewin_info method set_cpu does nothing if the cpu to be set is the current one (nw) This solves a problem in the windows debugger where the registers view would always return to the topafter being scrolled down. --- src/osd/modules/debugger/win/consolewininfo.cpp | 7 ++++++- src/osd/modules/debugger/win/consolewininfo.h | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/osd/modules/debugger/win/consolewininfo.cpp b/src/osd/modules/debugger/win/consolewininfo.cpp index cfc8f4f03f7..1b7fd42b492 100644 --- a/src/osd/modules/debugger/win/consolewininfo.cpp +++ b/src/osd/modules/debugger/win/consolewininfo.cpp @@ -23,6 +23,7 @@ consolewin_info::consolewin_info(debugger_windows_interface &debugger) : disasmbasewin_info(debugger, true, "Debug", nullptr), + m_current_cpu(nullptr), m_devices_menu(nullptr) { if ((window() == nullptr) || (m_views[0] == nullptr)) @@ -94,9 +95,13 @@ consolewin_info::~consolewin_info() { } - void consolewin_info::set_cpu(device_t &device) { + // exit if this cpu is already selected + if (m_current_cpu == &device) + return; + m_current_cpu = &device; + // first set all the views to the new cpu number m_views[0]->set_source_for_device(device); m_views[1]->set_source_for_device(device); diff --git a/src/osd/modules/debugger/win/consolewininfo.h b/src/osd/modules/debugger/win/consolewininfo.h index 3811a9029c2..aeb07b397d6 100644 --- a/src/osd/modules/debugger/win/consolewininfo.h +++ b/src/osd/modules/debugger/win/consolewininfo.h @@ -49,6 +49,7 @@ private: static void copy_extension_list(std::string &dest, char const *extensions); bool get_softlist_info(device_image_interface *img); + device_t *m_current_cpu; HMENU m_devices_menu; std::map slmap; };