summaryrefslogtreecommitdiff
path: root/src/plugins/debugger/breakhandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/debugger/breakhandler.cpp')
-rw-r--r--src/plugins/debugger/breakhandler.cpp20
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;