summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Peter Ferrie <peter.ferrie@gmail.com>2015-08-10 21:56:26 -0700
committer Peter Ferrie <peter.ferrie@gmail.com>2015-08-10 21:56:26 -0700
commit9b0c6dbd54c900f12d094500d58569b10ebc6954 (patch)
treede2bad52db7f603c62f7fd1873633e9b9b9b3f22
parentf3a7c23a314be9ed321b6a824fa9bf3d37024180 (diff)
debugviewinfo.c: destroy window before destroying view (nw)
destroying the focus window triggers a killfocus event. for cursor-supporting windows, this accesses the just-deleted view data, and then crashes
-rw-r--r--src/osd/modules/debugger/win/debugviewinfo.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/osd/modules/debugger/win/debugviewinfo.c b/src/osd/modules/debugger/win/debugviewinfo.c
index f3c12a09f2e..b4868800692 100644
--- a/src/osd/modules/debugger/win/debugviewinfo.c
+++ b/src/osd/modules/debugger/win/debugviewinfo.c
@@ -68,9 +68,6 @@ debugview_info::debugview_info(debugger_windows_interface &debugger, debugwin_in
return;
cleanup:
- if (m_view != NULL)
- machine().debug_view().free_view(*m_view);
- m_view = NULL;
if (m_hscroll != NULL)
DestroyWindow(m_hscroll);
m_hscroll = NULL;
@@ -80,15 +77,18 @@ cleanup:
if (m_wnd != NULL)
DestroyWindow(m_wnd);
m_wnd = NULL;
+ if (m_view != NULL)
+ machine().debug_view().free_view(*m_view);
+ m_view = NULL;
}
debugview_info::~debugview_info()
{
- if (m_view)
- machine().debug_view().free_view(*m_view);
if (m_wnd != NULL)
DestroyWindow(m_wnd);
+ if (m_view)
+ machine().debug_view().free_view(*m_view);
}