diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/ExecutionPointHighlighter.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/ExecutionPointHighlighter.java index d47996fccd10..d1b5617df7a7 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/ExecutionPointHighlighter.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/ExecutionPointHighlighter.java @@ -61,6 +61,8 @@ public class ExecutionPointHighlighter { AppUIUtil.invokeLaterIfProjectAlive(myProject, new Runnable() { @Override public void run() { + updateRequested.set(false); + mySourcePosition = position; myOpenFileDescriptor = XSourcePositionImpl.createOpenFileDescriptor(myProject, position); @@ -78,7 +80,12 @@ public class ExecutionPointHighlighter { AppUIUtil.invokeOnEdt(new Runnable() { @Override public void run() { - doHide(); + updateRequested.set(false); + + removeHighlighter(); + myOpenFileDescriptor = null; + myEditor = null; + myGutterIconRenderer = null; } }); } @@ -122,22 +129,12 @@ public class ExecutionPointHighlighter { ApplicationManager.getApplication().assertIsDispatchThread(); removeHighlighter(); - myEditor = XDebuggerUtilImpl.createEditor(myOpenFileDescriptor); + myEditor = myOpenFileDescriptor == null ? null : XDebuggerUtilImpl.createEditor(myOpenFileDescriptor); if (myEditor != null) { addHighlighter(); } } - private void doHide() { - updateRequested.set(false); - - ApplicationManager.getApplication().assertIsDispatchThread(); - removeHighlighter(); - myOpenFileDescriptor = null; - myEditor = null; - myGutterIconRenderer = null; - } - private void removeHighlighter() { if (myRangeHighlighter == null || myEditor == null) { return;