Merge remote-tracking branch 'origin/GP-1479_Dan_memBytesSnapshotBorder' into patch

This commit is contained in:
ghidra1 2021-12-18 00:03:16 -05:00
commit 390b3128c0
2 changed files with 23 additions and 5 deletions

View file

@ -1034,7 +1034,11 @@ public class DebuggerListingProvider extends CodeViewerProvider {
public void cloneWindow() { public void cloneWindow() {
final DebuggerListingProvider newProvider = plugin.createNewDisconnectedProvider(); final DebuggerListingProvider newProvider = plugin.createNewDisconnectedProvider();
final ViewerPosition vp = getListingPanel().getFieldPanel().getViewerPosition(); final ViewerPosition vp = getListingPanel().getFieldPanel().getViewerPosition();
final SaveState saveState = new SaveState();
writeConfigState(saveState);
Swing.runLater(() -> { Swing.runLater(() -> {
newProvider.readConfigState(saveState);
newProvider.goToCoordinates(current); newProvider.goToCoordinates(current);
newProvider.getListingPanel() newProvider.getListingPanel()
.getFieldPanel() .getFieldPanel()

View file

@ -25,6 +25,7 @@ import org.apache.commons.lang3.StringUtils;
import docking.ActionContext; import docking.ActionContext;
import docking.action.*; import docking.action.*;
import docking.menu.MultiStateDockingAction; import docking.menu.MultiStateDockingAction;
import docking.widgets.fieldpanel.support.ViewerPosition;
import ghidra.app.plugin.core.byteviewer.*; import ghidra.app.plugin.core.byteviewer.*;
import ghidra.app.plugin.core.debug.DebuggerCoordinates; import ghidra.app.plugin.core.debug.DebuggerCoordinates;
import ghidra.app.plugin.core.debug.gui.DebuggerLocationLabel; import ghidra.app.plugin.core.debug.gui.DebuggerLocationLabel;
@ -217,6 +218,11 @@ public class DebuggerMemoryBytesProvider extends ProgramByteViewerComponentProvi
return super.getByteViewerPanel(); return super.getByteViewerPanel();
} }
@Override
protected void addToToolbar() {
// Prevent this from being added to the toolbar
}
/** /**
* Deal with the fact that initialization order is hard to control * Deal with the fact that initialization order is hard to control
*/ */
@ -363,6 +369,11 @@ public class DebuggerMemoryBytesProvider extends ProgramByteViewerComponentProvi
return trackingTrait.getSpec(); return trackingTrait.getSpec();
} }
@Override
public boolean isConnected() {
return false;
}
public boolean isMainViewer() { public boolean isMainViewer() {
return isMainViewer; return isMainViewer;
} }
@ -417,13 +428,16 @@ public class DebuggerMemoryBytesProvider extends ProgramByteViewerComponentProvi
@Override @Override
public void cloneWindow() { public void cloneWindow() {
final DebuggerMemoryBytesProvider newProvider = myPlugin.createNewDisconnectedProvider(); final DebuggerMemoryBytesProvider newProvider = myPlugin.createNewDisconnectedProvider();
SaveState saveState = new SaveState(); final ViewerPosition vp = panel.getViewerPosition();
final SaveState saveState = new SaveState();
writeConfigState(saveState); writeConfigState(saveState);
Swing.runLater(() -> {
newProvider.readConfigState(saveState); newProvider.readConfigState(saveState);
newProvider.goToCoordinates(current); newProvider.goToCoordinates(current);
newProvider.setLocation(currentLocation); newProvider.setLocation(currentLocation);
newProvider.panel.setViewerPosition(panel.getViewerPosition()); newProvider.panel.setViewerPosition(vp);
});
} }
@Override @Override