From 7b475f3bc35510b12cdc23dcdcc2eff8670b1471 Mon Sep 17 00:00:00 2001 From: "Egor.Ushakov" Date: Thu, 5 May 2016 17:39:34 +0300 Subject: [PATCH] reset thread filter at least on thread death to ensure that other breakpoints work after that --- .../src/com/intellij/debugger/impl/DebuggerSession.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/java/debugger/impl/src/com/intellij/debugger/impl/DebuggerSession.java b/java/debugger/impl/src/com/intellij/debugger/impl/DebuggerSession.java index 4a879da56235..ab4021c74fc8 100644 --- a/java/debugger/impl/src/com/intellij/debugger/impl/DebuggerSession.java +++ b/java/debugger/impl/src/com/intellij/debugger/impl/DebuggerSession.java @@ -15,10 +15,7 @@ */ package com.intellij.debugger.impl; -import com.intellij.debugger.DebugEnvironment; -import com.intellij.debugger.DebuggerBundle; -import com.intellij.debugger.DebuggerInvocationUtil; -import com.intellij.debugger.SourcePosition; +import com.intellij.debugger.*; import com.intellij.debugger.engine.*; import com.intellij.debugger.engine.evaluation.EvaluateException; import com.intellij.debugger.engine.evaluation.EvaluationListener; @@ -756,6 +753,10 @@ public class DebuggerSession implements AbstractDebuggerSession { @Override public void threadStopped(DebugProcess proc, ThreadReference thread) { notifyThreadsRefresh(); + DebugProcessImpl debugProcess = (DebugProcessImpl)proc; + if (debugProcess.getRequestsManager().getFilterThread() == thread) { + DebuggerManagerEx.getInstanceEx(proc.getProject()).getBreakpointManager().applyThreadFilter(debugProcess, null); + } } private void notifyThreadsRefresh() {