Debugger: Fix multiple conditional watchpoints at the same address

This commit is contained in:
Vicki Pfau 2022-08-13 03:41:55 -07:00
parent 3b5fb57013
commit 368ad24516
3 changed files with 3 additions and 2 deletions

View File

@ -56,6 +56,7 @@ Other fixes:
- Core: Fix the runloop resuming after a game has crashed (fixes mgba.io/i/2451) - Core: Fix the runloop resuming after a game has crashed (fixes mgba.io/i/2451)
- Core: Fix crash if library can't be opened - Core: Fix crash if library can't be opened
- Debugger: Fix crash with extremely long CLI strings - Debugger: Fix crash with extremely long CLI strings
- Debugger: Fix multiple conditional watchpoints at the same address
- FFmpeg: Fix crash when encoding audio with some containers - FFmpeg: Fix crash when encoding audio with some containers
- FFmpeg: Fix GIF recording (fixes mgba.io/i/2393) - FFmpeg: Fix GIF recording (fixes mgba.io/i/2393)
- GB: Fix temporary saves - GB: Fix temporary saves

View File

@ -102,7 +102,7 @@ static bool _checkWatchpoints(struct ARMDebugger* debugger, uint32_t address, st
int32_t value; int32_t value;
int segment; int segment;
if (!mDebuggerEvaluateParseTree(debugger->d.p, watchpoint->condition, &value, &segment) || !(value || segment >= 0)) { if (!mDebuggerEvaluateParseTree(debugger->d.p, watchpoint->condition, &value, &segment) || !(value || segment >= 0)) {
return false; continue;
} }
} }

View File

@ -52,7 +52,7 @@ static bool _checkWatchpoints(struct SM83Debugger* debugger, uint16_t address, s
int32_t value; int32_t value;
int segment; int segment;
if (!mDebuggerEvaluateParseTree(debugger->d.p, watchpoint->condition, &value, &segment) || !(value || segment >= 0)) { if (!mDebuggerEvaluateParseTree(debugger->d.p, watchpoint->condition, &value, &segment) || !(value || segment >= 0)) {
return false; continue;
} }
} }
uint8_t oldValue = debugger->originalMemory.load8(debugger->cpu, address); uint8_t oldValue = debugger->originalMemory.load8(debugger->cpu, address);