From d0848ee29aaef4761dc696ba0f53c119e92a2f09 Mon Sep 17 00:00:00 2001 From: hjk <qtc-committer@nokia.com> Date: Tue, 5 Oct 2010 16:05:47 +0200 Subject: [PATCH] debugger: fix breakpoint cleanup to allow subsequent runs Reviewed-by: Friedemann Kleint --- src/plugins/debugger/breakhandler.cpp | 3 ++- src/plugins/debugger/breakpoint.cpp | 20 ++++++++++++++++++++ src/plugins/debugger/breakpoint.h | 1 + 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/src/plugins/debugger/breakhandler.cpp b/src/plugins/debugger/breakhandler.cpp index 32df0b3eb54..681f5935fc5 100644 --- a/src/plugins/debugger/breakhandler.cpp +++ b/src/plugins/debugger/breakhandler.cpp @@ -742,7 +742,8 @@ void BreakHandler::storeToTemplate(BreakHandler *other) { QTC_ASSERT(m_bp,/**/); foreach (BreakpointData *data, *m_bp) { - data->m_handler = other; + data->m_handler = other; + data->clear(); } m_bp = 0; diff --git a/src/plugins/debugger/breakpoint.cpp b/src/plugins/debugger/breakpoint.cpp index 0c9fc2341bd..46466fa7987 100644 --- a/src/plugins/debugger/breakpoint.cpp +++ b/src/plugins/debugger/breakpoint.cpp @@ -205,6 +205,26 @@ BreakpointData::~BreakpointData() removeMarker(); } +void BreakpointData::clear() +{ + removeMarker(); + bpNumber.clear(); + bpCondition.clear(); + bpIgnoreCount = 0; + bpFileName.clear(); + bpFullName.clear(); + bpLineNumber = 0; + bpCorrectedLineNumber = 0; + bpThreadSpec.clear(); + bpFuncName.clear(); + bpAddress = 0; + bpMultiple = false; + bpEnabled = true; + bpState.clear(); + m_markerFileName.clear(); + m_markerLineNumber = 0; +} + void BreakpointData::removeMarker() { BreakpointMarker *m = marker; diff --git a/src/plugins/debugger/breakpoint.h b/src/plugins/debugger/breakpoint.h index e96a58bc83f..9589fb8dc96 100644 --- a/src/plugins/debugger/breakpoint.h +++ b/src/plugins/debugger/breakpoint.h @@ -57,6 +57,7 @@ public: QString toToolTip() const; BreakHandler *handler() { return m_handler; } void reinsertBreakpoint(); + void clear(); // Delete all generated data. bool isLocatedAt(const QString &fileName, int lineNumber, bool useMarkerPosition) const; -- GitLab