diff --git a/pom.xml b/pom.xml
index 67dffc8..729a830 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
4.0.0
de.srsoftware
web4rail
- 1.4.9
+ 1.4.10
Web4Rail
jar
Java Model Railway Control
diff --git a/resources/translations/Application.de.translation b/resources/translations/Application.de.translation
index 841bbda..618ffba 100644
--- a/resources/translations/Application.de.translation
+++ b/resources/translations/Application.de.translation
@@ -172,6 +172,7 @@ Falls aktiviert, wird die Strecke anhand von Zug- und Kachel-Länge hinter dem Z
internal contacts : interne Kontakte
inverted : invertiert
Inverts the direction {} is heading to. : Kehrt die Richtung, in welche {} fährt, um.
+{} is not a block! : {} ist kein Block!
{} is off : {} ist Aus
{} is on : {} ist Ein
{} is oriented {} : {} ist {} gerichtet
diff --git a/src/main/java/de/srsoftware/web4rail/Route.java b/src/main/java/de/srsoftware/web4rail/Route.java
index de479b1..681540c 100644
--- a/src/main/java/de/srsoftware/web4rail/Route.java
+++ b/src/main/java/de/srsoftware/web4rail/Route.java
@@ -888,7 +888,14 @@ public class Route extends BaseClass {
return true;
}
- public boolean start() {
+ public boolean start() {
+ if (isNull(context) || context.invalidated()) {
+ LOG.debug("Invalid context: {}",context);
+ return false;
+ }
+
+ Train train = context.train();
+ if (train.direction() != startDirection) train.turn();
if (isSet(startDelay)) sleep(startDelay.random());
return startNow();
}
diff --git a/src/main/java/de/srsoftware/web4rail/moving/Train.java b/src/main/java/de/srsoftware/web4rail/moving/Train.java
index 599cedc..cd9223c 100644
--- a/src/main/java/de/srsoftware/web4rail/moving/Train.java
+++ b/src/main/java/de/srsoftware/web4rail/moving/Train.java
@@ -141,6 +141,7 @@ public class Train extends BaseClass implements Comparable {
case ACTION_QUIT:
return train.properties(train.quitAutopilot());
case ACTION_REVERSE:
+ train.quitAutopilot();
return train.reverse().properties();
case ACTION_SLOWER10:
return train.slower(Train.defaultSpeedStep);
@@ -748,12 +749,11 @@ public class Train extends BaseClass implements Comparable {
button(t("reverse"), Map.of(ACTION,ACTION_REVERSE)).title(t("Turns the train, as if it went through a loop.")).addTo(directionLi).addTo(propList);
Tag dest = new Tag("li").content(t("Destination")+COL);
- if (isNull(destination)) {
- button(t("Select from plan"),Map.of(ACTION,ACTION_MOVE,ASSIGN,DESTINATION)).addTo(dest);
- } else {
+ if (isSet(destination)) {
link("span",destination,Map.of(REALM,REALM_PLAN,ID,destination.id().toString(),ACTION,ACTION_CLICK)).addTo(dest);
new Button(t("Drop"),Map.of(REALM,REALM_TRAIN,ID,id,ACTION,ACTION_MOVE,DESTINATION,"")).addTo(dest);
}
+ button(t("Select from plan"),Map.of(ACTION,ACTION_MOVE,ASSIGN,DESTINATION)).addTo(dest);
dest.addTo(propList);
if (isSet(route)) route.link("li", route).addTo(propList);