diff --git a/distribution/ReleaseNotes.txt b/distribution/ReleaseNotes.txt index 09451fd65..778f4091e 100644 --- a/distribution/ReleaseNotes.txt +++ b/distribution/ReleaseNotes.txt @@ -9,6 +9,7 @@ HEAD, planned as v0.24 - The octal number format was added. - A push button combined with LED was added. - A VGA monitor was added. +- Unnamed Tunnels are ignored silently. v0.23, released on 23. Aug. 2019 - Added generic circuits. Now it is possible to parameterize a sub circuit. diff --git a/src/main/java/de/neemann/digital/draw/model/NetList.java b/src/main/java/de/neemann/digital/draw/model/NetList.java index 5ed6218d4..5c19ccba4 100644 --- a/src/main/java/de/neemann/digital/draw/model/NetList.java +++ b/src/main/java/de/neemann/digital/draw/model/NetList.java @@ -34,21 +34,23 @@ public class NetList implements Iterable { boolean hasLabel = false; for (VisualElement ve : circuit.getElements()) if (ve.equalsDescription(Tunnel.DESCRIPTION)) { - Vector pos = ve.getPos(); - Net found = null; - for (Net n : netList) - if (n.contains(pos)) - found = n; - String label = ve.getElementAttributes().get(Keys.NETNAME).trim(); - if (found == null) { - final PinException e = new PinException(Lang.get("err_labelNotConnectedToNet_N", label), ve); - e.setOrigin(circuit.getOrigin()); - throw e; - } + if (!label.isEmpty()) { + Vector pos = ve.getPos(); + Net found = null; + for (Net n : netList) + if (n.contains(pos)) + found = n; - found.addLabel(label); - hasLabel = true; + if (found == null) { + final PinException e = new PinException(Lang.get("err_labelNotConnectedToNet_N", label), ve); + e.setOrigin(circuit.getOrigin()); + throw e; + } + + found.addLabel(label); + hasLabel = true; + } } if (hasLabel) diff --git a/src/main/resources/lang/lang_de.xml b/src/main/resources/lang/lang_de.xml index 4d03e3575..dd0c85b06 100644 --- a/src/main/resources/lang/lang_de.xml +++ b/src/main/resources/lang/lang_de.xml @@ -298,7 +298,7 @@ Tunnel Verbindet Elemente, ohne eine Leitung zu ziehen. Alle Tunnelelemente, welche denselben Netznamen tragen, sind miteinander verbunden. Der Tunnel ist immer lokal, es können keine Verbindungen über - Schaltungsgrenzen hinaus erzeugt werden. + Schaltungsgrenzen hinaus erzeugt werden. Unbenannte Tunnel haben keine Funktion. Anschluss des Tunnels. Splitter Führt mehrere Leitungen zu einem gemeinsamen Bus zusammen, bzw. splittet diesen wieder auf. diff --git a/src/main/resources/lang/lang_en.xml b/src/main/resources/lang/lang_en.xml index ad370d50b..f079a5e6f 100644 --- a/src/main/resources/lang/lang_en.xml +++ b/src/main/resources/lang/lang_en.xml @@ -302,7 +302,8 @@ Returns the given value as a constant. Tunnel Connects components without a wire. All tunnel elements, which have the same net name, - are connected together. Works only locally, so it is not possible to connect different circuits. + are connected together. Works only locally, so it is not possible to connect different circuits. + Unnamed tunnels are ignored silently. The connection to the tunnel. Splitter Splits or creates a wire bundle or a data bus with more than one bit.