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 0966658c2d8..19cf4e27714 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 @@ -897,15 +897,15 @@ public class MIRunControl extends AbstractDsfService implements IMIRunControl, I private IExecutionDMContext[] makeExecutionDMCs(IContainerDMContext containerCtx, MIThreadListIdsInfo info) { - if (info.getThreadIds().length == 0) { + if (info.getStrThreadIds().length == 0) { // Main thread always exist even if it is not reported by GDB. // So create thread-id = 0 when no thread is reported. // This hack is necessary to prevent AbstractMIControl from issuing a thread-select // because it doesn't work if the application was not compiled with pthread. return new IMIExecutionDMContext[]{createMIExecutionContext(containerCtx, FAKE_THREAD_ID)}; } else { - IExecutionDMContext[] executionDmcs = new IMIExecutionDMContext[info.getThreadIds().length]; - for (int i = 0; i < info.getThreadIds().length; i++) { + IExecutionDMContext[] executionDmcs = new IMIExecutionDMContext[info.getStrThreadIds().length]; + for (int i = 0; i < info.getStrThreadIds().length; i++) { executionDmcs[i] = createMIExecutionContext(containerCtx, info.getStrThreadIds()[i]); } return executionDmcs; diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/command/output/MIThreadListIdsInfo.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/command/output/MIThreadListIdsInfo.java index 0fb743c1fe4..d770f1abeeb 100644 --- a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/command/output/MIThreadListIdsInfo.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/command/output/MIThreadListIdsInfo.java @@ -19,31 +19,12 @@ import java.util.Comparator; */ public class MIThreadListIdsInfo extends MIInfo { - int[] threadIds; private String[] strThreadIds; public MIThreadListIdsInfo(MIOutput out) { super(out); } - public int[] getThreadIds() { - if (threadIds == null) { - // To make sure that the threads have be parsed - String[] tIds = getStrThreadIds(); - - threadIds = new int[tIds.length]; - for (int i=0; i