diff --git a/src/plugins/debugger/dap/pydapengine.cpp b/src/plugins/debugger/dap/pydapengine.cpp index 68dea4f0551..6de21a29f46 100644 --- a/src/plugins/debugger/dap/pydapengine.cpp +++ b/src/plugins/debugger/dap/pydapengine.cpp @@ -209,6 +209,37 @@ void installDebugpyPackage(const FilePath &pythonPath) process.waitForFinished(); } +bool PyDapEngine::acceptsBreakpoint(const BreakpointParameters &bp) const +{ + return bp.fileName.endsWith(".py"); +} + +void PyDapEngine::insertBreakpoint(const Breakpoint &bp) +{ + DapEngine::insertBreakpoint(bp); + notifyBreakpointInsertOk(bp); // Needed for Python support issue:1386 +} + +void PyDapEngine::removeBreakpoint(const Breakpoint &bp) +{ + DapEngine::removeBreakpoint(bp); + notifyBreakpointRemoveOk(bp); // Needed for Python support issue:1386 +} + +void PyDapEngine::updateBreakpoint(const Breakpoint &bp) +{ + DapEngine::updateBreakpoint(bp); + + /* Needed for Python support issue:1386 */ + BreakpointParameters parameters = bp->requestedParameters(); + if (parameters.enabled != bp->isEnabled()) { + parameters.pending = false; + bp->setParameters(parameters); + } + notifyBreakpointChangeOk(bp); + /* Needed for Python support issue:1386 */ +} + bool PyDapEngine::isLocalAttachEngine() const { return runParameters().startMode == AttachToLocalProcess; diff --git a/src/plugins/debugger/dap/pydapengine.h b/src/plugins/debugger/dap/pydapengine.h index f3b14031fa4..af28b3afef7 100644 --- a/src/plugins/debugger/dap/pydapengine.h +++ b/src/plugins/debugger/dap/pydapengine.h @@ -19,7 +19,13 @@ private: void setupEngine() override; bool isLocalAttachEngine() const; - Utils::Process m_proc; + bool acceptsBreakpoint(const BreakpointParameters &bp) const override; + /* Needed for Python support issue:1386 */ + void insertBreakpoint(const Breakpoint &bp) override; + void updateBreakpoint(const Breakpoint &bp) override; + void removeBreakpoint(const Breakpoint &bp) override; + /* Needed for Python support issue:1386 */ + const QLoggingCategory &logCategory() override { static const QLoggingCategory logCategory = QLoggingCategory("qtc.dbg.dapengine.python",