mirror of
https://github.com/NationalSecurityAgency/ghidra
synced 2024-10-13 21:52:59 +00:00
GT-2927 - review fixes
This commit is contained in:
parent
12fffa922e
commit
484a4bce56
|
@ -62,7 +62,7 @@ import resources.ResourceManager;
|
||||||
public class ByteViewerPlugin extends Plugin {
|
public class ByteViewerPlugin extends Plugin {
|
||||||
|
|
||||||
private Program currentProgram;
|
private Program currentProgram;
|
||||||
private boolean isRestoringState;
|
private boolean areEventsDisabled;
|
||||||
private ProgramLocation currentLocation;
|
private ProgramLocation currentLocation;
|
||||||
|
|
||||||
private ProgramByteViewerComponentProvider connectedProvider;
|
private ProgramByteViewerComponentProvider connectedProvider;
|
||||||
|
@ -193,7 +193,7 @@ public class ByteViewerPlugin extends Plugin {
|
||||||
@Override
|
@Override
|
||||||
public void readDataState(SaveState saveState) {
|
public void readDataState(SaveState saveState) {
|
||||||
|
|
||||||
restore(() -> {
|
doWithEventsDisabled(() -> {
|
||||||
|
|
||||||
ProgramManager programManagerService = tool.getService(ProgramManager.class);
|
ProgramManager programManagerService = tool.getService(ProgramManager.class);
|
||||||
|
|
||||||
|
@ -313,25 +313,25 @@ public class ByteViewerPlugin extends Plugin {
|
||||||
@Override
|
@Override
|
||||||
public void restoreTransientState(Object objectState) {
|
public void restoreTransientState(Object objectState) {
|
||||||
|
|
||||||
restore(() -> {
|
doWithEventsDisabled(() -> {
|
||||||
Object[] state = (Object[]) objectState;
|
Object[] state = (Object[]) objectState;
|
||||||
connectedProvider.restoreLocation((SaveState) state[0]);
|
connectedProvider.restoreLocation((SaveState) state[0]);
|
||||||
connectedProvider.setSelection((ProgramSelection) state[1]);
|
connectedProvider.setSelection((ProgramSelection) state[1]);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private void restore(Callback callback) {
|
private void doWithEventsDisabled(Callback callback) {
|
||||||
isRestoringState = true;
|
areEventsDisabled = true;
|
||||||
try {
|
try {
|
||||||
callback.call();
|
callback.call();
|
||||||
}
|
}
|
||||||
finally {
|
finally {
|
||||||
isRestoringState = false;
|
areEventsDisabled = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean isRestoringState() {
|
private boolean eventsDisabled() {
|
||||||
return isRestoringState;
|
return areEventsDisabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
void setStatusMessage(String msg) {
|
void setStatusMessage(String msg) {
|
||||||
|
@ -380,7 +380,7 @@ public class ByteViewerPlugin extends Plugin {
|
||||||
public void updateLocation(ProgramByteViewerComponentProvider provider,
|
public void updateLocation(ProgramByteViewerComponentProvider provider,
|
||||||
ProgramLocationPluginEvent event, boolean export) {
|
ProgramLocationPluginEvent event, boolean export) {
|
||||||
|
|
||||||
if (isRestoringState()) {
|
if (eventsDisabled()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue