diff options
author | Darin Wright | 2006-06-15 16:41:01 +0000 |
---|---|---|
committer | Darin Wright | 2006-06-15 16:41:01 +0000 |
commit | 7e0ac752f73429bffa3ae4e41c0085c963ef09c6 (patch) | |
tree | e8f6297c7a4ce9e179f7e5f6041b1bfe5f0972dd | |
parent | fa27cd05e3e2b56247af29a4464d9ac5c0378a14 (diff) | |
download | eclipse.platform.debug-7e0ac752f73429bffa3ae4e41c0085c963ef09c6.tar.gz eclipse.platform.debug-7e0ac752f73429bffa3ae4e41c0085c963ef09c6.tar.xz eclipse.platform.debug-7e0ac752f73429bffa3ae4e41c0085c963ef09c6.zip |
[target 321] Bug 146880 - No selection in the debug view when an application is running
3 files changed, 21 insertions, 2 deletions
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DebugTargetProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DebugTargetProxy.java index 5806ec5a3..6aefdccc4 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DebugTargetProxy.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DebugTargetProxy.java @@ -90,7 +90,7 @@ public class DebugTargetProxy extends EventHandlerModelProxy { // expand the target if no suspended thread ModelDelta delta = new ModelDelta(DebugPlugin.getDefault().getLaunchManager(), IModelDelta.NO_CHANGE); ModelDelta node = delta.addNode(target.getLaunch(), IModelDelta.NO_CHANGE); - node = node.addNode(target, IModelDelta.EXPAND); + node = node.addNode(target, IModelDelta.EXPAND | IModelDelta.SELECT); fireModelChanged(delta); } catch (DebugException e) { } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ProcessProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ProcessProxy.java index a594ff2b8..2157ad040 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ProcessProxy.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ProcessProxy.java @@ -12,6 +12,8 @@ package org.eclipse.debug.internal.ui.viewers.update; import org.eclipse.debug.core.DebugEvent; import org.eclipse.debug.core.DebugPlugin; +import org.eclipse.debug.core.ILaunch; +import org.eclipse.debug.core.ILaunchManager; import org.eclipse.debug.core.model.IProcess; import org.eclipse.debug.internal.ui.viewers.provisional.IModelDelta; import org.eclipse.debug.internal.ui.viewers.provisional.ModelDelta; @@ -72,4 +74,21 @@ public class ProcessProxy extends EventHandlerModelProxy { return new DebugEventHandler[] {fProcessEventHandler}; } + /* (non-Javadoc) + * @see org.eclipse.debug.internal.ui.viewers.AbstractModelProxy#installed() + */ + public void installed() { + // select process if in run mode + IProcess process = fProcess; + if (process != null) { + ILaunch launch = process.getLaunch(); + if (launch != null && ILaunchManager.RUN_MODE.equals(launch.getLaunchMode())) { + // select the process + ModelDelta delta = new ModelDelta(DebugPlugin.getDefault().getLaunchManager(), IModelDelta.NO_CHANGE); + ModelDelta node = delta.addNode(process.getLaunch(), IModelDelta.NO_CHANGE); + node = node.addNode(process, IModelDelta.SELECT); + fireModelChanged(delta); + } + } + } } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ThreadEventHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ThreadEventHandler.java index 0707619cd..21dffe850 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ThreadEventHandler.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ThreadEventHandler.java @@ -94,7 +94,7 @@ public class ThreadEventHandler extends DebugEventHandler { protected void handleResume(DebugEvent event) { IThread thread = removeSuspendedThread(event); - fireDeltaAndClearTopFrame(thread, IModelDelta.STATE | IModelDelta.CONTENT); + fireDeltaAndClearTopFrame(thread, IModelDelta.STATE | IModelDelta.CONTENT | IModelDelta.SELECT); thread = getNextSuspendedThread(); if (thread != null) { fireDeltaUpdatingTopFrame(thread, IModelDelta.NO_CHANGE); |