diff options
Diffstat (limited to 'src/plugins/debugger/breakhandler.cpp')
-rw-r--r-- | src/plugins/debugger/breakhandler.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/plugins/debugger/breakhandler.cpp b/src/plugins/debugger/breakhandler.cpp index 2c1327d02f..f66e8031f1 100644 --- a/src/plugins/debugger/breakhandler.cpp +++ b/src/plugins/debugger/breakhandler.cpp @@ -37,6 +37,7 @@ #include "debuggerstringutils.h" #include "stackframe.h" +#include <extensionsystem/invoker.h> #include <utils/hostosinfo.h> #include <utils/qtcassert.h> @@ -1258,6 +1259,25 @@ void BreakHandler::updateLineNumberFromMarker(BreakpointModelId id, int lineNumb emit layoutChanged(); } +void BreakHandler::changeLineNumberFromMarker(BreakpointModelId id, int lineNumber) +{ + // We need to delay this as it is called from a marker which will be destroyed. + ExtensionSystem::InvokerBase invoker; + invoker.addArgument(id); + invoker.addArgument(lineNumber); + invoker.setConnectionType(Qt::QueuedConnection); + invoker.invoke(this, "changeLineNumberFromMarkerHelper"); + QTC_CHECK(invoker.wasSuccessful()); +} + +void BreakHandler::changeLineNumberFromMarkerHelper(BreakpointModelId id, int lineNumber) +{ + BreakpointParameters data = breakpointData(id); + data.lineNumber = lineNumber; + removeBreakpoint(id); + appendBreakpoint(data); +} + BreakpointModelIds BreakHandler::allBreakpointIds() const { BreakpointModelIds ids; |