mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2026-01-10 06:27:59 -05:00
GP-1475: Fix three NPEs among Stack and Thread providers
This commit is contained in:
@@ -343,16 +343,24 @@ public class DebuggerStackProvider extends ComponentProviderAdapter {
|
||||
}
|
||||
|
||||
private void rowActivated(StackFrameRow row) {
|
||||
if (row == null) {
|
||||
return;
|
||||
}
|
||||
TraceStackFrame frame = row.frame;
|
||||
if (frame == null) {
|
||||
return;
|
||||
}
|
||||
TraceThread thread = frame.getStack().getThread();
|
||||
Trace trace = thread.getTrace();
|
||||
TraceRecorder recorder = modelService.getRecorder(trace);
|
||||
if (recorder != null) {
|
||||
TargetStackFrame targetFrame = recorder.getTargetStackFrame(thread, frame.getLevel());
|
||||
if (targetFrame != null && targetFrame.isValid()) {
|
||||
DebugModelConventions.requestActivation(targetFrame);
|
||||
}
|
||||
if (recorder == null) {
|
||||
return;
|
||||
}
|
||||
TargetStackFrame targetFrame = recorder.getTargetStackFrame(thread, frame.getLevel());
|
||||
if (targetFrame == null || !targetFrame.isValid()) {
|
||||
return;
|
||||
}
|
||||
DebugModelConventions.requestActivation(targetFrame);
|
||||
}
|
||||
|
||||
protected void createActions() {
|
||||
|
||||
@@ -521,15 +521,20 @@ public class DebuggerThreadsProvider extends ComponentProviderAdapter {
|
||||
}
|
||||
|
||||
private void rowActivated(ThreadRow row) {
|
||||
if (row == null) {
|
||||
return;
|
||||
}
|
||||
TraceThread thread = row.getThread();
|
||||
Trace trace = thread.getTrace();
|
||||
TraceRecorder recorder = modelService.getRecorder(trace);
|
||||
if (recorder != null) {
|
||||
TargetThread targetThread = recorder.getTargetThread(thread);
|
||||
if (targetThread != null && targetThread.isValid()) {
|
||||
DebugModelConventions.requestActivation(targetThread);
|
||||
}
|
||||
if (recorder == null) {
|
||||
return;
|
||||
}
|
||||
TargetThread targetThread = recorder.getTargetThread(thread);
|
||||
if (targetThread == null || !targetThread.isValid()) {
|
||||
return;
|
||||
}
|
||||
DebugModelConventions.requestActivation(targetThread);
|
||||
}
|
||||
|
||||
protected void buildMainPanel() {
|
||||
|
||||
Reference in New Issue
Block a user