summaryrefslogtreecommitdiff
path: root/java/debugger/impl/src/com/intellij/debugger/engine/JavaBreakpointHandler.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/debugger/impl/src/com/intellij/debugger/engine/JavaBreakpointHandler.java')
-rw-r--r--java/debugger/impl/src/com/intellij/debugger/engine/JavaBreakpointHandler.java19
1 files changed, 14 insertions, 5 deletions
diff --git a/java/debugger/impl/src/com/intellij/debugger/engine/JavaBreakpointHandler.java b/java/debugger/impl/src/com/intellij/debugger/engine/JavaBreakpointHandler.java
index ad2c881d1336..75897417bd2e 100644
--- a/java/debugger/impl/src/com/intellij/debugger/engine/JavaBreakpointHandler.java
+++ b/java/debugger/impl/src/com/intellij/debugger/engine/JavaBreakpointHandler.java
@@ -49,13 +49,17 @@ public class JavaBreakpointHandler extends XBreakpointHandler {
if (javaBreakpoint != null) {
final Breakpoint bpt = javaBreakpoint;
BreakpointManager.addBreakpoint(bpt);
- // must use invoke to stay in the current request,
- // otherwise dependent breakpoints do not get enabled on not-suspending parents hit
- myProcess.getManagerThread().invoke(new DebuggerCommandImpl() {
+ // use schedule not to block initBreakpoints
+ myProcess.getManagerThread().schedule(new DebuggerCommandImpl() {
@Override
protected void action() throws Exception {
bpt.createRequest(myProcess);
}
+
+ @Override
+ public Priority getPriority() {
+ return Priority.HIGH;
+ }
});
}
}
@@ -64,12 +68,17 @@ public class JavaBreakpointHandler extends XBreakpointHandler {
public void unregisterBreakpoint(@NotNull final XBreakpoint breakpoint, boolean temporary) {
final Breakpoint javaBreakpoint = BreakpointManager.getJavaBreakpoint(breakpoint);
if (javaBreakpoint != null) {
- // must use invoke to stay in the current request, see comment in registerBreakpoint
- myProcess.getManagerThread().invoke(new DebuggerCommandImpl() {
+ // use schedule not to block initBreakpoints
+ myProcess.getManagerThread().schedule(new DebuggerCommandImpl() {
@Override
protected void action() throws Exception {
javaBreakpoint.delete();
}
+
+ @Override
+ public Priority getPriority() {
+ return Priority.HIGH;
+ }
});
}
}