From 60d6743debfee75536a259c287a1bd55cf5ccf41 Mon Sep 17 00:00:00 2001 From: "Egor.Ushakov" Date: Mon, 14 Nov 2016 17:23:14 +0300 Subject: [PATCH] cancel emulation in progress --- .../debugger/ui/breakpoints/MethodBreakpoint.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/MethodBreakpoint.java b/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/MethodBreakpoint.java index 509e119d1086..85067752fc01 100644 --- a/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/MethodBreakpoint.java +++ b/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/MethodBreakpoint.java @@ -150,14 +150,17 @@ public class MethodBreakpoint extends BreakpointWithHighlighter indicatorRef = new AtomicReference<>(); - ApplicationManager.getApplication().invokeAndWait(() -> indicatorRef.set(new ProgressWindowWithNotification(true, myProject))); + ApplicationManager.getApplication() + .invokeAndWait(() -> indicatorRef.set(new ProgressWindowWithNotification(true, false, myProject, "Cancel emulation"))); ProgressIndicator indicator = indicatorRef.get(); ProgressManager.getInstance().executeProcessUnderProgress( () -> processPreparedSubTypes(baseType, subType -> createRequestForPreparedClassEmulated(debugProcess, subType, false), indicator), indicator); if (indicator.isCanceled()) { - ApplicationManager.getApplication().invokeLater( - () -> DebuggerManagerEx.getInstanceEx(myProject).getBreakpointManager().removeBreakpoint(this)); + ApplicationManager.getApplication().invokeLater(() -> { + getProperties().EMULATED = false; + fireBreakpointChanged(); + }); } }