diff --git a/src/plugins/debugger/breakhandler.cpp b/src/plugins/debugger/breakhandler.cpp index 39ee4cf1d5d7de8c7892095030e87b3cda32bd8c..3a68ad24ca3bfc48b673efc8dbc203ff6974a156 100644 --- a/src/plugins/debugger/breakhandler.cpp +++ b/src/plugins/debugger/breakhandler.cpp @@ -584,6 +584,7 @@ void BreakHandler::toggleBreakpointEnabled(BreakpointData *data) m_enabled.removeAll(data); m_disabled.append(data); } + data->removeMarker(); // Force icon update. data->updateMarker(); emit layoutChanged(); m_engine->attemptBreakpointSynchronization(); diff --git a/src/plugins/debugger/breakpoint.cpp b/src/plugins/debugger/breakpoint.cpp index 90b52cb113057af587fb27b70dfa948881f36bdf..11175b010c7010e6c82d4fb5aa9c316049c853c2 100644 --- a/src/plugins/debugger/breakpoint.cpp +++ b/src/plugins/debugger/breakpoint.cpp @@ -74,7 +74,6 @@ public: { m_data = data; m_pending = true; - m_enabled = true; //qDebug() << "CREATE MARKER " << fileName << lineNumber; } @@ -87,19 +86,18 @@ public: QIcon icon() const { const BreakHandler *handler = m_data->handler(); + if (!m_data->enabled) + return handler->disabledBreakpointIcon(); if (!handler->isActive()) return handler->emptyIcon(); - if (!m_enabled) - return handler->disabledBreakpointIcon(); return m_pending ? handler->pendingBreakPointIcon() : handler->breakpointIcon(); } - void setPending(bool pending, bool enabled) + void setPending(bool pending) { - if (pending == m_pending && enabled == m_enabled) + if (pending == m_pending) return; m_pending = pending; - m_enabled = enabled; updateMarker(); } @@ -149,7 +147,6 @@ public: private: BreakpointData *m_data; bool m_pending; - bool m_enabled; }; @@ -243,7 +240,7 @@ void BreakpointData::updateMarker() marker = new BreakpointMarker(this, m_markerFileName, m_markerLineNumber); if (marker) - marker->setPending(pending, enabled); + marker->setPending(pending); } void BreakpointData::setMarkerFileName(const QString &fileName)