From a6ff48a1dfb1a30e80c0edd463ae8f6baefada72 Mon Sep 17 00:00:00 2001 From: Sour Date: Wed, 29 Mar 2023 20:40:52 -0400 Subject: [PATCH] Debugger: Fixed "find all occurrences" returning the same result multiple times --- Core/Debugger/DisassemblySearch.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Core/Debugger/DisassemblySearch.cpp b/Core/Debugger/DisassemblySearch.cpp index d1e07b9a..026ed491 100644 --- a/Core/Debugger/DisassemblySearch.cpp +++ b/Core/Debugger/DisassemblySearch.cpp @@ -83,6 +83,7 @@ uint32_t DisassemblySearch::SearchDisassembly(CpuType cpuType, const char* searc if(maxResultCount == ++resultCount) { return resultCount; } + continue; } if(TextContains(searchStr, lineData.Comment, 1000, options)) { @@ -90,9 +91,10 @@ uint32_t DisassemblySearch::SearchDisassembly(CpuType cpuType, const char* searc if(maxResultCount == ++resultCount) { return resultCount; } + continue; } - if(lineData.EffectiveAddress.Address >= 0) { + if(lineData.EffectiveAddress.ShowAddress && lineData.EffectiveAddress.Address >= 0) { txt = _labelManager->GetLabel({ lineData.EffectiveAddress.Address, memType }); if(txt.empty()) { txt = "[$" + DebugUtilities::AddressToHex(lineData.LineCpuType, lineData.EffectiveAddress.Address) + "]"; @@ -105,6 +107,7 @@ uint32_t DisassemblySearch::SearchDisassembly(CpuType cpuType, const char* searc if(maxResultCount == ++resultCount) { return resultCount; } + continue; } } @@ -115,6 +118,7 @@ uint32_t DisassemblySearch::SearchDisassembly(CpuType cpuType, const char* searc if(maxResultCount == ++resultCount) { return resultCount; } + continue; } } }