X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=plugins%2Fnet.mograsim.plugin.core%2Fsrc%2Fnet%2Fmograsim%2Fplugin%2Fviews%2FSimulationView.java;h=12126616ac9bda7ac2f416ab1eaddaddd1077aee;hb=79fe4ef5f67bdf3b7a9d8002d1759ce87b3f90be;hp=4d118a9f20d0815730c3286d07cd643465e77df3;hpb=9ab92f6f3ac3dacda4b9dcf2d80b08c263905682;p=Mograsim.git diff --git a/plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/views/SimulationView.java b/plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/views/SimulationView.java index 4d118a9f..12126616 100644 --- a/plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/views/SimulationView.java +++ b/plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/views/SimulationView.java @@ -6,6 +6,7 @@ import java.util.function.Consumer; import org.eclipse.core.runtime.SafeRunner; import org.eclipse.debug.core.ILaunch; +import org.eclipse.debug.core.model.IDebugElement; import org.eclipse.debug.core.model.IDebugTarget; import org.eclipse.debug.ui.DebugUITools; import org.eclipse.debug.ui.contexts.IDebugContextListener; @@ -183,24 +184,20 @@ public class SimulationView extends ViewPart Object[] selectedElements = treeSelection.toArray(); for (Object selectedElement : selectedElements) { - MachineDebugTarget debugTarget; - if (selectedElement instanceof MachineDebugTarget) - debugTarget = (MachineDebugTarget) selectedElement; + IDebugTarget debugTarget; + if (selectedElement instanceof IDebugElement) + debugTarget = ((IDebugElement) selectedElement).getDebugTarget(); else if (selectedElement instanceof ILaunch) - { - ILaunch launch = (ILaunch) selectedElement; - IDebugTarget genericDebugTarget = launch.getDebugTarget(); - if (genericDebugTarget instanceof MachineDebugTarget) - debugTarget = (MachineDebugTarget) genericDebugTarget; - else - continue; - } else + debugTarget = ((ILaunch) selectedElement).getDebugTarget(); + else + continue; + if (!(debugTarget instanceof MachineDebugTarget)) continue; if (debugTarget.isTerminated()) continue; // we found a selected MachineDebugTarget if (this.debugTarget != debugTarget) - bindToDebugTarget(debugTarget); + bindToDebugTarget((MachineDebugTarget) debugTarget); return; } }