diff options
author | Anton Leherbauer | 2015-05-05 14:38:59 +0000 |
---|---|---|
committer | Anton Leherbauer | 2015-05-05 14:38:59 +0000 |
commit | 5ed82fbadd0ab8b8902d7003f63f59c5a7b149d8 (patch) | |
tree | 174a2f4ab428c2cef0528814d5550ac9ab71efdd /plugins | |
parent | cf7c20392b15946fa202909ff815625cb33d36d3 (diff) | |
download | org.eclipse.tcf-5ed82fbadd0ab8b8902d7003f63f59c5a7b149d8.tar.gz org.eclipse.tcf-5ed82fbadd0ab8b8902d7003f63f59c5a7b149d8.tar.xz org.eclipse.tcf-5ed82fbadd0ab8b8902d7003f63f59c5a7b149d8.zip |
TCF Debugger: BP actions: fix multiple resume requests on same RCGroup
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/org.eclipse.tcf.cdt.ui/src/org/eclipse/tcf/internal/cdt/ui/TCFBreakpointActions.java | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/plugins/org.eclipse.tcf.cdt.ui/src/org/eclipse/tcf/internal/cdt/ui/TCFBreakpointActions.java b/plugins/org.eclipse.tcf.cdt.ui/src/org/eclipse/tcf/internal/cdt/ui/TCFBreakpointActions.java index 9e847c13b..b97632836 100644 --- a/plugins/org.eclipse.tcf.cdt.ui/src/org/eclipse/tcf/internal/cdt/ui/TCFBreakpointActions.java +++ b/plugins/org.eclipse.tcf.cdt.ui/src/org/eclipse/tcf/internal/cdt/ui/TCFBreakpointActions.java @@ -129,7 +129,6 @@ public class TCFBreakpointActions { done(false); return; } - resumed = true; String rc_grp = ctx_data.getRCGroup(); if (rc_grp != null) { List<BreakpointActionAdapter> l = new ArrayList<BreakpointActionAdapter>(); @@ -140,10 +139,19 @@ public class TCFBreakpointActions { if (!a_ctx_cache.validate(this)) return; IRunControl.RunControlContext a_ctx_data = a_ctx_cache.getData(); if (a_ctx_data == null) continue; - if (rc_grp.equals(a_ctx_data.getRCGroup())) l.add(a); + if (rc_grp.equals(a_ctx_data.getRCGroup())) { + if (a.resumed) resumed = true; + else l.add(a); + } } for (BreakpointActionAdapter a : l) a.abort(); } + if (resumed) { + // resume for same RCGroup already pending + done(false); + return; + } + resumed = true; ctx_data.resume(IRunControl.RM_RESUME, 1, new IRunControl.DoneCommand() { public void doneCommand(IToken token, Exception error) { if (error != null && !aborted) error(error); |