mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2025-10-05 02:39:44 +02:00
GT-2856 Corrected restore project NPE observed when using large
repository.
This commit is contained in:
parent
85d11cc6ba
commit
1444b0c27b
1 changed files with 8 additions and 6 deletions
|
@ -36,6 +36,7 @@ import ghidra.framework.main.FrontEndPlugin;
|
||||||
import ghidra.framework.model.*;
|
import ghidra.framework.model.*;
|
||||||
import ghidra.framework.plugintool.PluginTool;
|
import ghidra.framework.plugintool.PluginTool;
|
||||||
import ghidra.util.HelpLocation;
|
import ghidra.util.HelpLocation;
|
||||||
|
import ghidra.util.SystemUtilities;
|
||||||
import ghidra.util.bean.GGlassPane;
|
import ghidra.util.bean.GGlassPane;
|
||||||
import ghidra.util.bean.GGlassPanePainter;
|
import ghidra.util.bean.GGlassPanePainter;
|
||||||
|
|
||||||
|
@ -79,12 +80,12 @@ public class ProjectDataTablePanel extends JPanel {
|
||||||
private void buildContent() {
|
private void buildContent() {
|
||||||
model = new ProjectDataTableModel(tool);
|
model = new ProjectDataTableModel(tool);
|
||||||
model.addThreadedTableModelListener(new SelectPendingFilesListener());
|
model.addThreadedTableModelListener(new SelectPendingFilesListener());
|
||||||
table = new GFilterTable<DomainFileInfo>(model) {
|
table = new GFilterTable<>(model) {
|
||||||
@Override
|
@Override
|
||||||
protected GThreadedTablePanel<DomainFileInfo> createThreadedTablePanel(
|
protected GThreadedTablePanel<DomainFileInfo> createThreadedTablePanel(
|
||||||
ThreadedTableModel<DomainFileInfo, ?> threadedModel) {
|
ThreadedTableModel<DomainFileInfo, ?> threadedModel) {
|
||||||
|
|
||||||
return new GThreadedTablePanel<DomainFileInfo>(threadedModel) {
|
return new GThreadedTablePanel<>(threadedModel) {
|
||||||
@Override
|
@Override
|
||||||
protected GTable createTable(ThreadedTableModel<DomainFileInfo, ?> m) {
|
protected GTable createTable(ThreadedTableModel<DomainFileInfo, ?> m) {
|
||||||
// the table's default actions aren't that useful in the Front End
|
// the table's default actions aren't that useful in the Front End
|
||||||
|
@ -267,10 +268,11 @@ public class ProjectDataTablePanel extends JPanel {
|
||||||
capacityExceeded = true;
|
capacityExceeded = true;
|
||||||
this.projectData.removeDomainFolderChangeListener(changeListener);
|
this.projectData.removeDomainFolderChangeListener(changeListener);
|
||||||
model.setProjectData(null);
|
model.setProjectData(null);
|
||||||
|
SystemUtilities.runSwingLater(() -> {
|
||||||
GGlassPane glassPane = (GGlassPane) gTable.getRootPane().getGlassPane();
|
GGlassPane glassPane = (GGlassPane) gTable.getRootPane().getGlassPane();
|
||||||
glassPane.removePainter(painter);
|
glassPane.removePainter(painter);
|
||||||
glassPane.addPainter(painter);
|
glassPane.addPainter(painter);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue