diff --git a/src/plugins/debugger/breakhandler.cpp b/src/plugins/debugger/breakhandler.cpp index 5964c68ab64..491efd90533 100644 --- a/src/plugins/debugger/breakhandler.cpp +++ b/src/plugins/debugger/breakhandler.cpp @@ -1724,7 +1724,11 @@ void BreakHandler::editBreakpoint(const Breakpoint &bp, QWidget *parent) return; if (params != bp->requestedParameters()) { - bp->setParameters(params); + if (GlobalBreakpoint gbp = bp->globalBreakpoint()) { + gbp->setParameters(params); + } else { + bp->setParameters(params); + } updateDisassemblerMarker(bp); bp->updateMarker(); bp->update(); @@ -1761,9 +1765,18 @@ void BreakHandler::editBreakpoints(const Breakpoints &bps, QWidget *parent) for (Breakpoint bp : bps) { if (bp) { - bp->m_parameters.condition = newCondition; - bp->m_parameters.ignoreCount = newIgnoreCount; - bp->m_parameters.threadSpec = newThreadSpec; + if (GlobalBreakpoint gbp = bp->globalBreakpoint()) { + BreakpointParameters params = bp->requestedParameters(); + params.condition = newCondition; + params.ignoreCount = newIgnoreCount; + params.threadSpec = newThreadSpec; + gbp->setParameters(params); + } else { + bp->m_parameters.condition = newCondition; + bp->m_parameters.ignoreCount = newIgnoreCount; + bp->m_parameters.threadSpec = newThreadSpec; + } + if (bp->m_state != BreakpointNew) requestBreakpointUpdate(bp); } @@ -2312,6 +2325,16 @@ void GlobalBreakpointItem::setEnabled(bool enabled, bool descend) } } +void GlobalBreakpointItem::setParameters(const BreakpointParameters ¶ms) +{ + if (m_params != params) { + m_params = params; + if (m_marker) + m_marker->updateMarker(); + update(); + } +} + void GlobalBreakpointItem::destroyMarker() { delete m_marker; diff --git a/src/plugins/debugger/breakhandler.h b/src/plugins/debugger/breakhandler.h index bd24d6263db..eee210fc896 100644 --- a/src/plugins/debugger/breakhandler.h +++ b/src/plugins/debugger/breakhandler.h @@ -86,6 +86,7 @@ public: bool isEnabled() const { return m_params.enabled; } void setEnabled(bool enabled, bool descend = true); + void setParameters(const BreakpointParameters ¶ms); const BreakpointParameters &requestedParameters() const { return m_params; }