GUI: Fixed some wxPostEvent endless loops

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4060 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
John Peterson
2009-08-25 09:13:17 +00:00
parent cc323e4849
commit c1f091e4bc
5 changed files with 15 additions and 18 deletions

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="Windows-1252"?> <?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject <VisualStudioProject
ProjectType="Visual C++" ProjectType="Visual C++"
Version="9.00" Version="9,00"
Name="Common" Name="Common"
ProjectGUID="{C573CAF7-EE6A-458E-8049-16C0BF34C2E9}" ProjectGUID="{C573CAF7-EE6A-458E-8049-16C0BF34C2E9}"
RootNamespace="Common" RootNamespace="Common"

View File

@ -101,6 +101,9 @@ BEGIN_EVENT_TABLE(CCodeWindow, wxPanel)
// Menu bar // Menu bar
EVT_MENU(IDM_INTERPRETER, CCodeWindow::OnCPUMode) // CPU Mode EVT_MENU(IDM_INTERPRETER, CCodeWindow::OnCPUMode) // CPU Mode
EVT_MENU(IDM_AUTOMATICSTART, CCodeWindow::OnCPUMode) EVT_MENU(IDM_AUTOMATICSTART, CCodeWindow::OnCPUMode)
EVT_MENU(IDM_BOOTTOPAUSE, CCodeWindow::OnCPUMode)
EVT_MENU(IDM_JITUNLIMITED, CCodeWindow::OnCPUMode)
EVT_MENU(IDM_JITOFF, CCodeWindow::OnCPUMode) EVT_MENU(IDM_JITOFF, CCodeWindow::OnCPUMode)
EVT_MENU(IDM_JITLSOFF, CCodeWindow::OnCPUMode) EVT_MENU(IDM_JITLSOFF, CCodeWindow::OnCPUMode)
EVT_MENU(IDM_JITLSLXZOFF, CCodeWindow::OnCPUMode) EVT_MENU(IDM_JITLSLXZOFF, CCodeWindow::OnCPUMode)
@ -711,7 +714,6 @@ void CCodeWindow::OnCodeStep(wxCommandEvent& event)
case IDM_DEBUG_GO: case IDM_DEBUG_GO:
{ {
// [F|RES] prolly we should disable the other buttons in go mode too ... // [F|RES] prolly we should disable the other buttons in go mode too ...
if (CCPU::IsStepping()) if (CCPU::IsStepping())
{ {
CCPU::EnableStepping(false); CCPU::EnableStepping(false);

View File

@ -81,17 +81,6 @@ class CCodeWindow
enum enum
{ {
// Toolbar
ID_TOOLBAR = 2000,
IDM_DEBUG_GO,
IDM_STEP,
IDM_STEPOVER,
IDM_SKIP,
IDM_SETPC,
IDM_GOTOPC,
IDM_ADDRBOX,
// ==============================================================
// Debugger GUI Objects // Debugger GUI Objects
ID_CODEVIEW, ID_CODEVIEW,
ID_CALLSTACKLIST, ID_CALLSTACKLIST,

View File

@ -549,8 +549,14 @@ void CFrame::OnHostMessage(wxCommandEvent& event)
// Post events // Post events
void CFrame::PostEvent(wxCommandEvent& event) void CFrame::PostEvent(wxCommandEvent& event)
{ {
// Don't post zero events, that may hang // Restrict the post events to the minimum necessary, it seems like these events are
if (g_pCodeWindow && event.GetId()) wxPostEvent(g_pCodeWindow, event); // somtimes posted to the parent wxFrame too so that it creates and endless loop
if (g_pCodeWindow
&& event.GetId() >= IDM_INTERPRETER && event.GetId() <= IDM_ADDRBOX
&& event.GetId() != IDM_JITUNLIMITED
)
wxPostEvent(g_pCodeWindow, event);
event.Skip();
} }
void CFrame::PostMenuEvent(wxMenuEvent& event) void CFrame::PostMenuEvent(wxMenuEvent& event)
{ {

View File

@ -153,7 +153,7 @@ enum
// -------------------------------------------------------------- // --------------------------------------------------------------
// Debugger Toolbar // Debugger Toolbar
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ID_TOOLBAR2 = 2000, ID_TOOLBAR2,
IDM_DEBUG_GO, IDM_DEBUG_GO,
IDM_STEP, IDM_STEP,
IDM_STEPOVER, IDM_STEPOVER,