forked from qt-creator/qt-creator
Debugger: Fix breakpoint disabling using context menu
Change-Id: I3fa5ef2dc123f5f7f8292147626453284c1afd76 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This commit is contained in:
@@ -1557,8 +1557,11 @@ bool BreakHandler::setData(const QModelIndex &idx, const QVariant &value, int ro
|
||||
const bool isEnabled = (bps.isEmpty() && sbps.isEmpty())
|
||||
|| (!bps.isEmpty() && bps.at(0)->isEnabled())
|
||||
|| (!sbps.isEmpty() && sbps.at(0)->params.enabled);
|
||||
for (Breakpoint bp : bps)
|
||||
for (Breakpoint bp : bps) {
|
||||
requestBreakpointEnabling(bp, !isEnabled);
|
||||
if (GlobalBreakpoint gbp = bp->globalBreakpoint())
|
||||
gbp->setEnabled(!isEnabled, false);
|
||||
}
|
||||
for (SubBreakpoint sbp : sbps)
|
||||
requestSubBreakpointEnabling(sbp, !isEnabled);
|
||||
return true;
|
||||
@@ -1642,8 +1645,11 @@ bool BreakHandler::contextMenuEvent(const ItemViewEvent &ev)
|
||||
: breakpointsEnabled ? tr("Disable Breakpoint") : tr("Enable Breakpoint"),
|
||||
!selectedBreakpoints.isEmpty(),
|
||||
[this, selectedBreakpoints, breakpointsEnabled] {
|
||||
for (Breakpoint bp : selectedBreakpoints)
|
||||
for (Breakpoint bp : selectedBreakpoints) {
|
||||
requestBreakpointEnabling(bp, !breakpointsEnabled);
|
||||
if (GlobalBreakpoint gbp = bp->globalBreakpoint())
|
||||
gbp->setEnabled(!breakpointsEnabled, false);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
@@ -2311,13 +2317,14 @@ void GlobalBreakpointItem::updateMarker()
|
||||
m_marker->setToolTip(toolTip());
|
||||
}
|
||||
|
||||
void GlobalBreakpointItem::setEnabled(bool enabled)
|
||||
void GlobalBreakpointItem::setEnabled(bool enabled, bool descend)
|
||||
{
|
||||
QTC_CHECK(m_params.enabled != enabled);
|
||||
m_params.enabled = enabled;
|
||||
updateMarkerIcon();
|
||||
update();
|
||||
|
||||
if (descend) {
|
||||
for (QPointer<DebuggerEngine> engine : EngineManager::engines()) {
|
||||
BreakHandler *handler = engine->breakHandler();
|
||||
for (Breakpoint bp : handler->breakpoints()) {
|
||||
@@ -2326,6 +2333,7 @@ void GlobalBreakpointItem::setEnabled(bool enabled)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GlobalBreakpointItem::destroyMarker()
|
||||
{
|
||||
|
@@ -85,7 +85,7 @@ public:
|
||||
int modelId() const;
|
||||
|
||||
bool isEnabled() const { return m_params.enabled; }
|
||||
void setEnabled(bool enabled);
|
||||
void setEnabled(bool enabled, bool descend = true);
|
||||
|
||||
const BreakpointParameters &requestedParameters() const { return m_params; }
|
||||
|
||||
|
Reference in New Issue
Block a user