diff options
author | hjk <[email protected]> | 2015-08-31 16:35:24 +0200 |
---|---|---|
committer | hjk <[email protected]> | 2015-09-01 08:16:53 +0000 |
commit | cfb2b2186e1cc98f1a584227bc40a708784f0adc (patch) | |
tree | 64fdfc0b46b40aba80b5e93f7194d8803595419a /src/plugins/debugger/breakhandler.cpp | |
parent | 44a8e937e3285d6c90676b56d80784bb20da46fa (diff) |
Debugger: Fix removal of breakpoint marks in disassembler view
Task-number: QTCREATORBUG-14973
Change-Id: I6dfceefe6d8b1404c2a553dbeebd7dccefa1a624
Reviewed-by: Christian Stenger <[email protected]>
Diffstat (limited to 'src/plugins/debugger/breakhandler.cpp')
-rw-r--r-- | src/plugins/debugger/breakhandler.cpp | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/plugins/debugger/breakhandler.cpp b/src/plugins/debugger/breakhandler.cpp index 1731f527fad..44a0ad06f3b 100644 --- a/src/plugins/debugger/breakhandler.cpp +++ b/src/plugins/debugger/breakhandler.cpp @@ -104,8 +104,6 @@ public: void changeLineNumberFromMarker(int lineNumber); bool isLocatedAt(const QString &fileName, int lineNumber, bool useMarkerPosition) const; - bool needsChildren() const; - void setMarkerFileAndLine(const QString &fileName, int lineNumber); void insertSubBreakpoint(const BreakpointResponse ¶ms); @@ -808,7 +806,8 @@ void Breakpoint::removeAlienBreakpoint() void Breakpoint::removeBreakpoint() const { - b->removeBreakpoint(); + if (b) + b->removeBreakpoint(); } Breakpoint::Breakpoint(BreakpointItem *b) @@ -834,11 +833,6 @@ void Breakpoint::setMarkerFileAndLine(const QString &fileName, int lineNumber) b->setMarkerFileAndLine(fileName, lineNumber); } -bool BreakpointItem::needsChildren() const -{ - return m_response.multiple && rowCount() == 0; -} - void Breakpoint::setTracepoint(bool on) { if (b->m_params.tracepoint == on) @@ -971,6 +965,8 @@ void Breakpoint::notifyBreakpointInsertProceeding() void Breakpoint::notifyBreakpointInsertOk() { gotoState(BreakpointInserted, BreakpointInsertProceeding); + if (b->m_engine) + b->m_engine->updateBreakpointMarker(*this); } void Breakpoint::notifyBreakpointInsertFailed() @@ -987,6 +983,8 @@ void Breakpoint::notifyBreakpointRemoveOk() { QTC_ASSERT(b, return); QTC_ASSERT(b->m_state == BreakpointRemoveProceeding, qDebug() << b->m_state); + if (b->m_engine) + b->m_engine->removeBreakpointMarker(*this); b->deleteThis(); } @@ -994,6 +992,8 @@ void Breakpoint::notifyBreakpointRemoveFailed() { QTC_ASSERT(b, return); QTC_ASSERT(b->m_state == BreakpointRemoveProceeding, qDebug() << b->m_state); + if (b->m_engine) + b->m_engine->removeBreakpointMarker(*this); b->deleteThis(); } @@ -1301,6 +1301,8 @@ void Breakpoint::changeBreakpointData(const BreakpointParameters ¶ms) if (params == b->m_params) return; b->m_params = params; + if (b->m_engine) + b->m_engine->updateBreakpointMarker(*this); b->destroyMarker(); b->updateMarker(); b->update(); @@ -1331,8 +1333,6 @@ BreakpointItem::~BreakpointItem() void BreakpointItem::destroyMarker() { - if (m_engine) - m_engine->updateBreakpointMarkers(); if (m_marker) { BreakpointMarker *m = m_marker; m->m_bp = 0; |