Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDarin Wright2006-06-15 16:41:01 +0000
committerDarin Wright2006-06-15 16:41:01 +0000
commit7e0ac752f73429bffa3ae4e41c0085c963ef09c6 (patch)
treee8f6297c7a4ce9e179f7e5f6041b1bfe5f0972dd
parentfa27cd05e3e2b56247af29a4464d9ac5c0378a14 (diff)
downloadeclipse.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
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DebugTargetProxy.java2
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ProcessProxy.java19
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ThreadEventHandler.java2
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);

Back to the top