diff options
Diffstat (limited to 'org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/model/JDIThread.java')
-rw-r--r-- | org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/model/JDIThread.java | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/model/JDIThread.java b/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/model/JDIThread.java index 33d6212f0..8d5175a44 100644 --- a/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/model/JDIThread.java +++ b/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/model/JDIThread.java @@ -396,7 +396,8 @@ public class JDIThread extends JDIDebugElement implements IJavaThread { public boolean canResume() { return isSuspended() && (!isPerformingEvaluation() || isInvokingMethod()) - && !isSuspendVoteInProgress(); + && !isSuspendVoteInProgress() + || getDebugTarget().isSuspended(); } /* @@ -1481,7 +1482,7 @@ public class JDIThread extends JDIDebugElement implements IJavaThread { * @see org.eclipse.debug.core.model.ISuspendResume#resume() */ public synchronized void resume() throws DebugException { - if (getDebugTarget().isSuspended()) { + if (!isSuspended() && getDebugTarget().isSuspended()) { getDebugTarget().resume(); } else { fClientSuspendRequest = false; |