From 4b54430a17b62baaa71e46d8c6bb83b8656983c7 Mon Sep 17 00:00:00 2001 From: hneemann Date: Tue, 27 Feb 2018 12:23:08 +0100 Subject: [PATCH] fixed a bug in the splitter, which ocures if definition is invalid --- src/main/java/de/neemann/digital/core/wiring/Splitter.java | 7 +++++-- .../java/de/neemann/digital/draw/shapes/MissingShape.java | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main/java/de/neemann/digital/core/wiring/Splitter.java b/src/main/java/de/neemann/digital/core/wiring/Splitter.java index 43444d8ec..ceb2f3710 100644 --- a/src/main/java/de/neemann/digital/core/wiring/Splitter.java +++ b/src/main/java/de/neemann/digital/core/wiring/Splitter.java @@ -272,8 +272,11 @@ public class Splitter implements Element { if (pos >= 0) { int from = Integer.decode(strVal.substring(0, pos).trim()); int to = Integer.decode(strVal.substring(pos + 1).trim()); - if (to < from) - throw new BitsException(Lang.get("err_spitterDefSyntaxError", definition)); + if (to < from) { + int z = to; + to = from; + from = z; + } add(new Port(from, to - from + 1)); } else add(new Port(bits, Integer.decode(strVal))); diff --git a/src/main/java/de/neemann/digital/draw/shapes/MissingShape.java b/src/main/java/de/neemann/digital/draw/shapes/MissingShape.java index 0dee8c90e..41a3af260 100644 --- a/src/main/java/de/neemann/digital/draw/shapes/MissingShape.java +++ b/src/main/java/de/neemann/digital/draw/shapes/MissingShape.java @@ -50,7 +50,7 @@ public class MissingShape implements Shape { while (c != null) { y += style.getFontSize(); String message = c.getMessage(); - if (message.length() > 100) + if (message != null && message.length() > 100) message = message.substring(0, 100) + "..."; graphic.drawText(new Vector(4, y), new Vector(5, y), message, Orientation.LEFTTOP, style); c = c.getCause();