- if (selection != null && selection instanceof TreeSelection)
- {
- TreeSelection treeSelection = (TreeSelection) selection;
- Object[] selectedElements = treeSelection.toArray();
- for (Object selectedElement : selectedElements)
- {
- MachineDebugTarget debugTarget;
- if (selectedElement instanceof MachineDebugTarget)
- debugTarget = (MachineDebugTarget) selectedElement;
- else if (selectedElement instanceof ILaunch)
- {
- ILaunch launch = (ILaunch) selectedElement;
- IDebugTarget genericDebugTarget = launch.getDebugTarget();
- if (genericDebugTarget instanceof MachineDebugTarget)
- debugTarget = (MachineDebugTarget) genericDebugTarget;
- else
- continue;
- } else
- continue;
- if (debugTarget.isTerminated())
- continue;
- // we found a selected MachineDebugTarget
- if (this.debugTarget != debugTarget)
- bindToDebugTarget(debugTarget);
- return;
- }
- }
- // we didn't find a selected MachineDebugTarget
- // call binToDebugTarget even if this.debugTarget==null
- bindToDebugTarget(null);