diff --git a/Ghidra/Framework/Project/src/main/java/ghidra/framework/main/datatable/ProjectDataTablePanel.java b/Ghidra/Framework/Project/src/main/java/ghidra/framework/main/datatable/ProjectDataTablePanel.java index 0f7ab9b912..8c2bcb4c7d 100644 --- a/Ghidra/Framework/Project/src/main/java/ghidra/framework/main/datatable/ProjectDataTablePanel.java +++ b/Ghidra/Framework/Project/src/main/java/ghidra/framework/main/datatable/ProjectDataTablePanel.java @@ -36,6 +36,7 @@ import ghidra.framework.main.FrontEndPlugin; import ghidra.framework.model.*; import ghidra.framework.plugintool.PluginTool; import ghidra.util.HelpLocation; +import ghidra.util.SystemUtilities; import ghidra.util.bean.GGlassPane; import ghidra.util.bean.GGlassPanePainter; @@ -79,12 +80,12 @@ public class ProjectDataTablePanel extends JPanel { private void buildContent() { model = new ProjectDataTableModel(tool); model.addThreadedTableModelListener(new SelectPendingFilesListener()); - table = new GFilterTable(model) { + table = new GFilterTable<>(model) { @Override protected GThreadedTablePanel createThreadedTablePanel( ThreadedTableModel threadedModel) { - return new GThreadedTablePanel(threadedModel) { + return new GThreadedTablePanel<>(threadedModel) { @Override protected GTable createTable(ThreadedTableModel m) { // the table's default actions aren't that useful in the Front End @@ -267,10 +268,11 @@ public class ProjectDataTablePanel extends JPanel { capacityExceeded = true; this.projectData.removeDomainFolderChangeListener(changeListener); model.setProjectData(null); - - GGlassPane glassPane = (GGlassPane) gTable.getRootPane().getGlassPane(); - glassPane.removePainter(painter); - glassPane.addPainter(painter); + SystemUtilities.runSwingLater(() -> { + GGlassPane glassPane = (GGlassPane) gTable.getRootPane().getGlassPane(); + glassPane.removePainter(painter); + glassPane.addPainter(painter); + }); } }