mirror of https://github.com/PCSX2/pcsx2.git
Fix memory view scrolling, keep window start aligned to row size, and retain focus upon positioning it to the address accessed by an opcode
This commit is contained in:
parent
4ebe739b44
commit
f2a0f9f61a
|
@ -612,11 +612,11 @@ void CtrlMemView::scrollCursor(int bytes)
|
|||
|
||||
if (curAddress < windowStart)
|
||||
{
|
||||
windowStart = (curAddress / rowSize) * curAddress;
|
||||
windowStart = (curAddress / rowSize) * rowSize;
|
||||
} else if (curAddress >= windowEnd)
|
||||
{
|
||||
windowStart = curAddress - (visibleRows - 1)*rowSize;
|
||||
windowStart = (windowStart / rowSize) * windowStart;
|
||||
windowStart = (windowStart / rowSize) * rowSize;
|
||||
}
|
||||
|
||||
updateStatusBarText();
|
||||
|
@ -642,7 +642,12 @@ void CtrlMemView::gotoAddress(u32 addr, bool pushInHistory)
|
|||
|
||||
curAddress = addr;
|
||||
selectedNibble = 0;
|
||||
windowStart = curAddress;
|
||||
|
||||
int visibleRows = GetClientSize().y/rowHeight;
|
||||
u32 windowEnd = windowStart+visibleRows*rowSize;
|
||||
|
||||
if (curAddress < windowStart || curAddress >= windowEnd)
|
||||
windowStart = (curAddress / rowSize) * rowSize;
|
||||
|
||||
updateStatusBarText();
|
||||
redraw();
|
||||
|
|
|
@ -502,9 +502,8 @@ void DisassemblyDialog::onDebuggerEvent(wxCommandEvent& evt)
|
|||
{
|
||||
currentCpu->showMemoryView();
|
||||
|
||||
CtrlMemView *memview = currentCpu->getMemoryView();
|
||||
memview->gotoAddress(evt.GetInt(), true);
|
||||
memview->SetFocus();
|
||||
currentCpu->getMemoryView()->gotoAddress(evt.GetInt(), true);
|
||||
currentCpu->getDisassembly()->SetFocus();
|
||||
}
|
||||
} else if (type == debEVT_RUNTOPOS)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue