diff --git a/src/main/java/com/romraider/logger/ecu/ui/handler/table/TableUpdateHandler.java b/src/main/java/com/romraider/logger/ecu/ui/handler/table/TableUpdateHandler.java index fec9ce80..8225264c 100644 --- a/src/main/java/com/romraider/logger/ecu/ui/handler/table/TableUpdateHandler.java +++ b/src/main/java/com/romraider/logger/ecu/ui/handler/table/TableUpdateHandler.java @@ -25,6 +25,7 @@ import static java.util.Collections.synchronizedMap; import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import java.util.ListIterator; import java.util.Map; import com.romraider.logger.ecu.comms.query.Response; @@ -39,6 +40,7 @@ public final class TableUpdateHandler implements DataUpdateHandler { private final Map> tableMap = synchronizedMap(new HashMap>()); private TableUpdateHandler() { + tableMap.clear(); } @Override @@ -51,8 +53,9 @@ public final class TableUpdateHandler implements DataUpdateHandler { List tables = tableMap.get(loggerData.getId()); if (tables != null && !tables.isEmpty()) { String formattedValue = loggerData.getSelectedConvertor().format(response.getDataValue(loggerData)); - for (Table table : tables) { - table.highlightLiveData(formattedValue); + ListIterator
item = tables.listIterator(); + if(item.hasNext()) { + item.next().highlightLiveData(formattedValue); } } } diff --git a/src/main/java/com/romraider/maps/Table2D.java b/src/main/java/com/romraider/maps/Table2D.java index 768786aa..f099076a 100644 --- a/src/main/java/com/romraider/maps/Table2D.java +++ b/src/main/java/com/romraider/maps/Table2D.java @@ -361,6 +361,10 @@ public class Table2D extends Table { try { this.axis.setScaleByName(curScale.getName()); } catch (NameNotFoundException e) { + try { + this.axis.setScaleByName(SettingsManager.getSettings().getDefaultScale()); + } catch (NameNotFoundException e1) { + } } } this.curScale = curScale; diff --git a/src/main/java/com/romraider/maps/Table3D.java b/src/main/java/com/romraider/maps/Table3D.java index 06df5fed..953e95f7 100644 --- a/src/main/java/com/romraider/maps/Table3D.java +++ b/src/main/java/com/romraider/maps/Table3D.java @@ -845,10 +845,18 @@ public class Table3D extends Table { try { this.xAxis.setScaleByName(curScale.getName()); } catch (NameNotFoundException e) { + try { + this.xAxis.setScaleByName(SettingsManager.getSettings().getDefaultScale()); + } catch (NameNotFoundException e1) { + } } try { this.yAxis.setScaleByName(curScale.getName()); } catch (NameNotFoundException e) { + try { + this.yAxis.setScaleByName(SettingsManager.getSettings().getDefaultScale()); + } catch (NameNotFoundException e1) { + } } } this.curScale = curScale; diff --git a/src/main/java/com/romraider/swing/MDIDesktopPane.java b/src/main/java/com/romraider/swing/MDIDesktopPane.java index ac7a4d94..6e0516ff 100644 --- a/src/main/java/com/romraider/swing/MDIDesktopPane.java +++ b/src/main/java/com/romraider/swing/MDIDesktopPane.java @@ -107,6 +107,7 @@ public class MDIDesktopPane extends JDesktopPane { if(frame instanceof TableFrame) { getEditor().getTableToolBar().updateTableToolBar(); + ((TableFrame) frame).RegisterTable(); } try { diff --git a/src/main/java/com/romraider/swing/TableFrame.java b/src/main/java/com/romraider/swing/TableFrame.java index b0ad8ec0..866914b1 100644 --- a/src/main/java/com/romraider/swing/TableFrame.java +++ b/src/main/java/com/romraider/swing/TableFrame.java @@ -67,10 +67,9 @@ public class TableFrame extends JInternalFrame implements InternalFrameListener, parent.getEditorMenuBar().updateMenu(); } - @Override public void internalFrameOpened(InternalFrameEvent e) { - TableUpdateHandler.getInstance().registerTable(this.getTable()); + RegisterTable(); } @Override @@ -98,6 +97,10 @@ public class TableFrame extends JInternalFrame implements InternalFrameListener, getEditor().getTableToolBar().updateTableToolBar(); } + public void RegisterTable() { + TableUpdateHandler.getInstance().registerTable(this.getTable()); + } + public Table getTable() { return table; }