put GhidraScriptTableModel table changed events into the swing thread

This commit is contained in:
Jason P. Leasure 2020-06-17 16:10:31 -04:00
parent 3eb3e9d8ba
commit 8f7f69d116

View file

@ -20,6 +20,7 @@ import java.awt.Component;
import java.util.*;
import javax.swing.*;
import javax.swing.event.TableModelEvent;
import docking.widgets.table.*;
import generic.jar.ResourceFile;
@ -212,6 +213,16 @@ class GhidraScriptTableModel extends GDynamicColumnTableModel<ResourceFile, Obje
}
}
@Override
public void fireTableChanged(TableModelEvent e) {
if (SwingUtilities.isEventDispatchThread()) {
super.fireTableChanged(e);
return;
}
final TableModelEvent e1 = e;
SwingUtilities.invokeLater(() -> GhidraScriptTableModel.super.fireTableChanged(e1));
}
private class StatusColumn extends AbstractDynamicTableColumn<ResourceFile, ImageIcon, Object> {
private Comparator<ImageIcon> comparator = (i1, i2) -> {
if (i1 == i2) {