From 37e3b715cdc7d188385097dc776e7c8e8bddad44 Mon Sep 17 00:00:00 2001 From: d-millar <33498836+d-millar@users.noreply.github.com> Date: Thu, 31 Dec 2020 19:10:13 +0000 Subject: [PATCH] processAdded should guarantee the session is now accessible --- .../dbgeng/model/impl/DbgModelTargetProcessContainerImpl.java | 3 +++ .../plugin/core/debug/gui/objects/components/ObjectTree.java | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Ghidra/Debug/Debugger-agent-dbgeng/src/main/java/agent/dbgeng/model/impl/DbgModelTargetProcessContainerImpl.java b/Ghidra/Debug/Debugger-agent-dbgeng/src/main/java/agent/dbgeng/model/impl/DbgModelTargetProcessContainerImpl.java index 6007530731..d11cd37269 100644 --- a/Ghidra/Debug/Debugger-agent-dbgeng/src/main/java/agent/dbgeng/model/impl/DbgModelTargetProcessContainerImpl.java +++ b/Ghidra/Debug/Debugger-agent-dbgeng/src/main/java/agent/dbgeng/model/impl/DbgModelTargetProcessContainerImpl.java @@ -24,6 +24,7 @@ import agent.dbgeng.dbgeng.DebugProcessId; import agent.dbgeng.dbgeng.DebugThreadId; import agent.dbgeng.manager.*; import agent.dbgeng.model.iface2.*; +import ghidra.dbg.target.TargetAccessConditioned.TargetAccessibility; import ghidra.dbg.target.TargetObject; import ghidra.util.datastruct.WeakValueHashMap; @@ -41,6 +42,8 @@ public class DbgModelTargetProcessContainerImpl extends DbgModelTargetObjectImpl @Override public void processAdded(DbgProcess proc, DbgCause cause) { + DbgModelTargetSession session = (DbgModelTargetSession) getImplParent(); + session.setAccessibility(TargetAccessibility.ACCESSIBLE); DbgModelTargetProcess process = getTargetProcess(proc); changeElements(List.of(), List.of(process), Map.of(), "Added"); process.processStarted(proc.getPid()); diff --git a/Ghidra/Debug/Debugger/src/main/java/ghidra/app/plugin/core/debug/gui/objects/components/ObjectTree.java b/Ghidra/Debug/Debugger/src/main/java/ghidra/app/plugin/core/debug/gui/objects/components/ObjectTree.java index 734bb88f46..f7dd39b420 100644 --- a/Ghidra/Debug/Debugger/src/main/java/ghidra/app/plugin/core/debug/gui/objects/components/ObjectTree.java +++ b/Ghidra/Debug/Debugger/src/main/java/ghidra/app/plugin/core/debug/gui/objects/components/ObjectTree.java @@ -326,11 +326,11 @@ public class ObjectTree implements ObjectPane { public void setFocus(TargetFocusScope object, TargetObjectRef focused) { Swing.runIfSwingOrRunLater(() -> { List path = focused.getPath(); - tree.setSelectedNodeByNamePath(addRootNameToPath(path)); ObjectContainer container = getProvider().getContainerByPath(path); if (container != null) { container.subscribe(); } + tree.setSelectedNodeByNamePath(addRootNameToPath(path)); }); }