diff options
Diffstat (limited to 'dsf')
-rw-r--r-- | dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/SteppingController.java | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/SteppingController.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/SteppingController.java index d8d17968ea9..3ba3357d4ea 100644 --- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/SteppingController.java +++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/SteppingController.java @@ -609,6 +609,7 @@ public final class SteppingController { @DsfServiceEventHandler public void eventDispatched(final ISuspendedDMEvent e) { // Take care of the stepping time out + boolean timedOut = false; IExecutionDMContext dmc = e.getDMContext(); for (Iterator<Map.Entry<IExecutionDMContext, Boolean>> itr = fTimedOutFlags.entrySet().iterator(); itr.hasNext();) { Map.Entry<IExecutionDMContext,Boolean> entry = itr.next(); @@ -617,6 +618,7 @@ public final class SteppingController { if (entry.getValue()) { // after step timeout do not process queued steps fStepQueues.remove(dmc); + timedOut = true; } itr.remove(); } @@ -634,7 +636,7 @@ public final class SteppingController { if (e.getReason() != StateChangeReason.STEP) { // after any non-step suspend reason do not process queued steps for given context fStepQueues.remove(dmc); - } else { + } else if (!timedOut){ // Check if there's a step pending, if so execute it processStepQueue(dmc); } |