diff --git a/src/plugins/debugger/breakhandler.cpp b/src/plugins/debugger/breakhandler.cpp index 4c1963d7a3ef09b85a447cd1bbdb4956db31750a..370eb838ec417a7a1f92960c279f7c1162a501ef 100644 --- a/src/plugins/debugger/breakhandler.cpp +++ b/src/plugins/debugger/breakhandler.cpp @@ -716,30 +716,6 @@ void BreakHandler::notifyBreakpointAdjusted(BreakpointId id, } -void BreakHandler::ackCondition(BreakpointId id) -{ - Iterator it = m_storage.find(id); - QTC_ASSERT(it != m_storage.end(), return); - it->response.condition = it->data.condition; - updateMarker(id); -} - -void BreakHandler::ackIgnoreCount(BreakpointId id) -{ - Iterator it = m_storage.find(id); - QTC_ASSERT(it != m_storage.end(), return); - it->response.ignoreCount = it->data.ignoreCount; - updateMarker(id); -} - -void BreakHandler::ackEnabled(BreakpointId id) -{ - Iterator it = m_storage.find(id); - QTC_ASSERT(it != m_storage.end(), return); - it->response.enabled = it->data.enabled; - updateMarker(id); -} - void BreakHandler::removeBreakpoint(BreakpointId id) { Iterator it = m_storage.find(id); diff --git a/src/plugins/debugger/breakhandler.h b/src/plugins/debugger/breakhandler.h index 32e2d61de9afdabefa297c4a5a6611556b833a8b..c9ee8549b60b43c4d21753c772fbc25ddc341c2d 100644 --- a/src/plugins/debugger/breakhandler.h +++ b/src/plugins/debugger/breakhandler.h @@ -127,11 +127,6 @@ public: const BreakpointResponse &response(BreakpointId id) const; void setResponse(BreakpointId id, const BreakpointResponse &data); - // Incorporate debugger feedback. No synchronization request needed. - void ackCondition(BreakpointId id); - void ackIgnoreCount(BreakpointId id); - void ackEnabled(BreakpointId id); - // State transitions. void notifyBreakpointInsertProceeding(BreakpointId id); void notifyBreakpointInsertOk(BreakpointId id); diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp index 5636224ea3a9adb502fc3ed045e9e96fbdeb922c..2454691ef1f51b516ee708a03bd86f592555a7a5 100644 --- a/src/plugins/debugger/gdb/gdbengine.cpp +++ b/src/plugins/debugger/gdb/gdbengine.cpp @@ -2299,10 +2299,12 @@ void GdbEngine::handleBreakList(const GdbMi &table) void GdbEngine::handleBreakDisable(const GdbResponse &response) { QTC_ASSERT(response.resultClass == GdbResultDone, /**/) - const BreakpointId id =response.cookie.toInt(); + const BreakpointId id = response.cookie.toInt(); // This should only be the requested state. QTC_ASSERT(!breakHandler()->isEnabled(id), /* Prevent later recursion */); - breakHandler()->ackEnabled(id); + BreakpointResponse br = breakHandler()->response(id); + br.enabled = false; + breakHandler()->setResponse(id, br); } void GdbEngine::handleBreakEnable(const GdbResponse &response) @@ -2311,7 +2313,9 @@ void GdbEngine::handleBreakEnable(const GdbResponse &response) const BreakpointId id = response.cookie.toInt(); // This should only be the requested state. QTC_ASSERT(breakHandler()->isEnabled(id), /* Prevent later recursion */); - breakHandler()->ackEnabled(id); + BreakpointResponse br = breakHandler()->response(id); + br.enabled = true; + breakHandler()->setResponse(id, br); } void GdbEngine::handleBreakIgnore(const GdbResponse &response) @@ -2328,15 +2332,15 @@ void GdbEngine::handleBreakIgnore(const GdbResponse &response) // gdb 6.3 does not produce any console output QTC_ASSERT(response.resultClass == GdbResultDone, /**/) QString msg = _(response.data.findChild("consolestreamoutput").data()); + BreakpointId id(response.cookie.toInt()); + BreakpointResponse br = breakHandler()->response(id); //if (msg.contains(__("Will stop next time breakpoint"))) - // data->bpIgnoreCount = _("0"); + // response.ignoreCount = _("0"); //else if (msg.contains(__("Will ignore next"))) - // data->bpIgnoreCount = data->ignoreCount; + // response.ignoreCount = data->ignoreCount; // FIXME: this assumes it is doing the right thing... - BreakpointId id(response.cookie.toInt()); - // This should only be the "wish" state. - QTC_ASSERT(!breakHandler()->isEnabled(id), /* prevent later recursion */); - breakHandler()->ackEnabled(id); + br.ignoreCount = breakHandler()->ignoreCount(id); + breakHandler()->setResponse(id, br); } void GdbEngine::handleBreakCondition(const GdbResponse &response) @@ -2349,7 +2353,9 @@ void GdbEngine::handleBreakCondition(const GdbResponse &response) // QByteArray msg = response.data.findChild("msg").data(); // if (1 || msg.startsWith("Error parsing breakpoint condition. " // " Will try again when we hit the breakpoint.")) { - breakHandler()->ackCondition(id); + BreakpointResponse br = breakHandler()->response(id); + br.condition = breakHandler()->condition(id); + breakHandler()->setResponse(id, br); } void GdbEngine::extractDataFromInfoBreak(const QString &output, BreakpointId id)