Explorar el Código

Fixes #1823. Fixes the issue, where the current debug target is not set correctly. Every session selection in the simulation view now ensures, that the correct debug target is set. (#1824)

Robert Rudi hace 7 años
padre
commit
4d135390a5

+ 1 - 1
plugins/org.yakindu.sct.simulation.ui/src/org/yakindu/sct/simulation/ui/view/AbstractDebugTargetView.java

@@ -99,7 +99,7 @@ public abstract class AbstractDebugTargetView extends ViewPart
 		}
 	}
 
-	private void changeTarget(IDebugTarget newTarget) {
+	protected void changeTarget(IDebugTarget newTarget) {
 		if (newTarget == debugTarget) {
 			return;
 		}

+ 4 - 3
plugins/org.yakindu.sct.simulation.ui/src/org/yakindu/sct/simulation/ui/view/SimulationView.java

@@ -271,7 +271,6 @@ public class SimulationView extends AbstractDebugTargetView implements ITypeSyst
 		setViewerInput(engine.getExecutionContext());
 		updateActions();
 		updateSessionDropdownInput(debugTarget);
-
 	}
 
 	protected void openEditorForTarget(final IDebugTarget debugTarget) {
@@ -297,6 +296,7 @@ public class SimulationView extends AbstractDebugTargetView implements ITypeSyst
 					targets.add(debugTarget);
 					sessionDropdown.setInput(targets);
 					sessionDropdown.setSelection(new StructuredSelection(debugTarget), true);
+					changeTarget(debugTarget);
 				}
 				sessionDropdown.refresh();
 			}
@@ -343,8 +343,9 @@ public class SimulationView extends AbstractDebugTargetView implements ITypeSyst
 		@Override
 		public void selectionChanged(SelectionChangedEvent event) {
 			IStructuredSelection selection = (IStructuredSelection) event.getSelection();
-			if ((IDebugTarget) selection.getFirstElement() != null) {
-				launchChanged(((IDebugTarget) selection.getFirstElement()).getLaunch());
+			IDebugTarget debugTarget = (IDebugTarget) selection.getFirstElement();
+			if (debugTarget != null) {
+				changeTarget(debugTarget);
 				sctSourceDisplayDispatcher.displaySource(debugTarget, SimulationView.this.getSite().getPage(), true);
 			}
 		}