diff options
author | Vladimir Prus | 2011-11-02 14:36:49 +0000 |
---|---|---|
committer | Marc Khouzam | 2011-11-02 14:36:49 +0000 |
commit | 09874c7c094e64592e21804830beae69fc3eb95f (patch) | |
tree | 0d9ebc9d582d11d34560409d26bc5fcfa9ad40b4 /dsf-gdb | |
parent | ecfdcab4abb0a82f2a30e697b3823f0b3219cab6 (diff) | |
download | org.eclipse.cdt-09874c7c094e64592e21804830beae69fc3eb95f.tar.gz org.eclipse.cdt-09874c7c094e64592e21804830beae69fc3eb95f.tar.xz org.eclipse.cdt-09874c7c094e64592e21804830beae69fc3eb95f.zip |
Bug 362274: Use "Step" reason after 'step return' operation
Diffstat (limited to 'dsf-gdb')
2 files changed, 7 insertions, 0 deletions
diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/GDBRunControl_7_0_NS.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/GDBRunControl_7_0_NS.java index 51e3a496cca..6ed20f6db4a 100644 --- a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/GDBRunControl_7_0_NS.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/GDBRunControl_7_0_NS.java @@ -65,6 +65,7 @@ import org.eclipse.cdt.dsf.mi.service.command.events.MIBreakpointHitEvent; import org.eclipse.cdt.dsf.mi.service.command.events.MICatchpointHitEvent; import org.eclipse.cdt.dsf.mi.service.command.events.MIErrorEvent; import org.eclipse.cdt.dsf.mi.service.command.events.MIEvent; +import org.eclipse.cdt.dsf.mi.service.command.events.MIFunctionFinishedEvent; import org.eclipse.cdt.dsf.mi.service.command.events.MIInferiorExitEvent; import org.eclipse.cdt.dsf.mi.service.command.events.MIRunningEvent; import org.eclipse.cdt.dsf.mi.service.command.events.MISharedLibEvent; @@ -157,6 +158,8 @@ public class GDBRunControl_7_0_NS extends AbstractDsfService implements IMIRunCo return StateChangeReason.BREAKPOINT; } else if (getMIEvent() instanceof MISteppingRangeEvent) { return StateChangeReason.STEP; + } else if (getMIEvent() instanceof MIFunctionFinishedEvent) { + return StateChangeReason.STEP; } else if (getMIEvent() instanceof MISharedLibEvent) { return StateChangeReason.SHAREDLIB; }else if (getMIEvent() instanceof MISignalEvent) { diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/MIRunControl.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/MIRunControl.java index 05784080df2..9f536f9d7da 100644 --- a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/MIRunControl.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/MIRunControl.java @@ -8,6 +8,7 @@ * Contributors: * Wind River Systems - initial API and implementation * Ericsson AB - Modified for handling of multiple threads + * Vladimir Prus (Mentor Graphics) - Add proper stop reason for step return (Bug 362274) *******************************************************************************/ package org.eclipse.cdt.dsf.mi.service; @@ -51,6 +52,7 @@ import org.eclipse.cdt.dsf.mi.service.command.events.MIBreakpointHitEvent; import org.eclipse.cdt.dsf.mi.service.command.events.MICatchpointHitEvent; import org.eclipse.cdt.dsf.mi.service.command.events.MIErrorEvent; import org.eclipse.cdt.dsf.mi.service.command.events.MIEvent; +import org.eclipse.cdt.dsf.mi.service.command.events.MIFunctionFinishedEvent; import org.eclipse.cdt.dsf.mi.service.command.events.MIRunningEvent; import org.eclipse.cdt.dsf.mi.service.command.events.MISharedLibEvent; import org.eclipse.cdt.dsf.mi.service.command.events.MISignalEvent; @@ -187,6 +189,8 @@ public class MIRunControl extends AbstractDsfService implements IMIRunControl, I return StateChangeReason.BREAKPOINT; } else if (getMIEvent() instanceof MISteppingRangeEvent) { return StateChangeReason.STEP; + } else if (getMIEvent() instanceof MIFunctionFinishedEvent) { + return StateChangeReason.STEP; } else if (getMIEvent() instanceof MISharedLibEvent) { return StateChangeReason.SHAREDLIB; }else if (getMIEvent() instanceof MISignalEvent) { |