diff --git a/src/main/java/com/romraider/maps/Table.java b/src/main/java/com/romraider/maps/Table.java index a3777579..c1f65ba7 100644 --- a/src/main/java/com/romraider/maps/Table.java +++ b/src/main/java/com/romraider/maps/Table.java @@ -1019,6 +1019,7 @@ public abstract class Table extends JPanel implements Serializable { clearSelection(); data[y].setSelected(true); highlightY = y; + ECUEditorManager.getECUEditor().getTableToolBar().updateTableToolBar(this); } } diff --git a/src/main/java/com/romraider/maps/Table3D.java b/src/main/java/com/romraider/maps/Table3D.java index c6b3dfca..25e02550 100644 --- a/src/main/java/com/romraider/maps/Table3D.java +++ b/src/main/java/com/romraider/maps/Table3D.java @@ -596,6 +596,7 @@ public class Table3D extends Table { } else { // y axis selectCellAt(y, 0); } + ECUEditorManager.getECUEditor().getTableToolBar().updateTableToolBar(this); } public void deSelectCellAt(int x, int y) { diff --git a/src/main/java/com/romraider/swing/TableToolBar.java b/src/main/java/com/romraider/swing/TableToolBar.java index 632a3e19..90cad29e 100644 --- a/src/main/java/com/romraider/swing/TableToolBar.java +++ b/src/main/java/com/romraider/swing/TableToolBar.java @@ -305,6 +305,16 @@ public class TableToolBar extends JToolBar implements MouseListener, ItemListene } public void updateTableToolBar(Table selectedTable) { + if(selectedTable == null && this.selectedTable == null) { + // Skip if the table is the same to avoid multiple updates + return; + } else if(selectedTable == null || this.selectedTable == null) { + // Update the toolbar. + } else if(this.selectedTable.equals(selectedTable)) { + // Skip if the table is the same to avoid multiple updates + return; + } + this.selectedTable = selectedTable; setBorder(toolbarBorder);