Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
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.java5
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;

Back to the top