diff --git a/pom.xml b/pom.xml
index 74c2d3e..e7f6766 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
4.0.0
de.srsoftware
web4rail
- 1.2.37
+ 1.2.38
Web4Rail
jar
Java Model Railway Control
diff --git a/resources/translations/Application.de.translation b/resources/translations/Application.de.translation
index 0090a61..ddb0f36 100644
--- a/resources/translations/Application.de.translation
+++ b/resources/translations/Application.de.translation
@@ -7,6 +7,7 @@ ActivateRoute : Route aktivieren
add : hinzufügen
Added {} : {} hinzugefügt
add action : Aktion hinzufügen
+Add action to action list : Aktion zur Liste hinzufügen
add car\: : Waggon hinzufügen:
Add condition : Bedingung hinzufügen
add locomotive\: : Lok hinzufügen:
diff --git a/src/main/java/de/srsoftware/web4rail/Route.java b/src/main/java/de/srsoftware/web4rail/Route.java
index 0839373..daad6b1 100644
--- a/src/main/java/de/srsoftware/web4rail/Route.java
+++ b/src/main/java/de/srsoftware/web4rail/Route.java
@@ -406,6 +406,10 @@ public class Route extends BaseClass {
return win;
}
+ public Context context() {
+ return context.clone();
+ }
+
public Block endBlock() {
return endBlock;
}
diff --git a/src/main/java/de/srsoftware/web4rail/tiles/Block.java b/src/main/java/de/srsoftware/web4rail/tiles/Block.java
index 0f26a8f..cfcbea5 100644
--- a/src/main/java/de/srsoftware/web4rail/tiles/Block.java
+++ b/src/main/java/de/srsoftware/web4rail/tiles/Block.java
@@ -274,6 +274,7 @@ public abstract class Block extends StretchableTile{
Id trainId = Id.from(params,Train.class.getSimpleName());
if (trainId.equals(0)) { // TODO: this is rubbish
if (isSet(train)) train.dropTrace();
+ train.set(null);
train = null;
} else {
Train newTrain = Train.get(trainId);
diff --git a/src/main/java/de/srsoftware/web4rail/tiles/Contact.java b/src/main/java/de/srsoftware/web4rail/tiles/Contact.java
index 12699a6..47d28a4 100644
--- a/src/main/java/de/srsoftware/web4rail/tiles/Contact.java
+++ b/src/main/java/de/srsoftware/web4rail/tiles/Contact.java
@@ -75,12 +75,15 @@ public class Contact extends Tile{
LOG.debug("{} activated.",this);
state = true;
if (isSet(timer)) timer.abort();
+ Context context = null;
if (isSet(route)) {
+ context = route.context();
route.contact(this);
} else if (getClass() != Contact.class) {
plan.warn(this);
}
- actions.fire(new Context(this));
+ if (isNull(context)) context = new Context(this);
+ actions.fire(context);
stream();
}
}