diff options
Diffstat (limited to 'source/Breakpoint/BreakpointList.cpp')
| -rw-r--r-- | source/Breakpoint/BreakpointList.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/source/Breakpoint/BreakpointList.cpp b/source/Breakpoint/BreakpointList.cpp index 01ac59f0a903e..4a49b1e105ab5 100644 --- a/source/Breakpoint/BreakpointList.cpp +++ b/source/Breakpoint/BreakpointList.cpp @@ -99,7 +99,7 @@ void BreakpointList::RemoveAll(bool notify) { void BreakpointList::RemoveAllowed(bool notify) { std::lock_guard<std::recursive_mutex> guard(m_mutex); - + bp_collection::iterator pos, end = m_breakpoints.end(); if (notify) { for (pos = m_breakpoints.begin(); pos != end; ++pos) { @@ -116,10 +116,12 @@ void BreakpointList::RemoveAllowed(bool notify) { } pos = m_breakpoints.begin(); while ( pos != end) { - if((*pos)->AllowDelete()) - pos = m_breakpoints.erase(pos); - else - pos++; + auto bp = *pos; + if (bp->AllowDelete()) { + bp->ClearAllBreakpointSites(); + pos = m_breakpoints.erase(pos); + } else + pos++; } } |
