summaryrefslogtreecommitdiff
path: root/Source/Core/DolphinWX/Debugger/CodeWindow.cpp
diff options
context:
space:
mode:
authoraldelaro5 <aldelaro5@gmail.com>2016-10-22 17:20:06 -0400
committeraldelaro5 <aldelaro5@gmail.com>2016-10-29 01:08:27 -0400
commit63546b4f2e6ca7926e6649c551c654e15e06b0cd (patch)
tree4fb10ed1aa5b5dae275402a4ad6906b5b3bcdfff /Source/Core/DolphinWX/Debugger/CodeWindow.cpp
parent2536e37ec518c8d0e949ec7780ee0fb53e8b066e (diff)
Fix unnecessary Center PC calls in the CodeWindow
This not only fixes a regression where toggling a breakpoint using the CodeWindow would cause a Center PC, but it also removes several redundant JumpToAddress(PC) calls.
Diffstat (limited to 'Source/Core/DolphinWX/Debugger/CodeWindow.cpp')
-rw-r--r--Source/Core/DolphinWX/Debugger/CodeWindow.cpp21
1 files changed, 11 insertions, 10 deletions
diff --git a/Source/Core/DolphinWX/Debugger/CodeWindow.cpp b/Source/Core/DolphinWX/Debugger/CodeWindow.cpp
index 388160f384..9cf243456d 100644
--- a/Source/Core/DolphinWX/Debugger/CodeWindow.cpp
+++ b/Source/Core/DolphinWX/Debugger/CodeWindow.cpp
@@ -159,7 +159,8 @@ void CCodeWindow::OnHostMessage(wxCommandEvent& event)
break;
case IDM_UPDATE_DISASM_DIALOG:
- Repopulate();
+ codeview->Center(PC);
+ Repopulate(false);
if (HasPanel<CRegisterWindow>())
GetPanel<CRegisterWindow>()->NotifyUpdate();
if (HasPanel<CWatchWindow>())
@@ -205,12 +206,14 @@ void CCodeWindow::OnCodeStep(wxCommandEvent& event)
case IDM_SKIP:
PC += 4;
- Repopulate();
+ codeview->Center(PC);
+ Repopulate(false);
break;
case IDM_SETPC:
PC = codeview->GetSelection();
- Repopulate();
+ codeview->Center(PC);
+ Repopulate(false);
break;
case IDM_GOTOPC:
@@ -383,11 +386,8 @@ void CCodeWindow::StepOut()
PowerPC::SetMode(old_mode);
CPU::PauseAndLock(false, false);
- JumpToAddress(PC);
- {
- wxCommandEvent ev(wxEVT_HOST_COMMAND, IDM_UPDATE_DISASM_DIALOG);
- GetEventHandler()->ProcessEvent(ev);
- }
+ wxCommandEvent ev(wxEVT_HOST_COMMAND, IDM_UPDATE_DISASM_DIALOG);
+ GetEventHandler()->ProcessEvent(ev);
// Update all toolbars in the aui manager
Parent->UpdateGUI();
@@ -605,12 +605,13 @@ void CCodeWindow::PopulateToolbar(wxToolBar* toolBar)
}
// Update GUI
-void CCodeWindow::Repopulate()
+void CCodeWindow::Repopulate(bool refresh_codeview)
{
if (!codeview)
return;
- codeview->Center(PC);
+ if (refresh_codeview)
+ codeview->Refresh();
UpdateCallstack();
UpdateButtonStates();