From 8e38619f6130810679c72dd246a1d5a3e110f067 Mon Sep 17 00:00:00 2001 From: altrisi Date: Sat, 15 Oct 2022 12:34:55 +0200 Subject: [PATCH] Don't hold `Context` variables for the lifetime of scheduled calls Fixes #1568 --- src/main/java/carpet/script/CarpetContext.java | 2 +- src/main/java/carpet/script/CarpetEventServer.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/carpet/script/CarpetContext.java b/src/main/java/carpet/script/CarpetContext.java index e3fe44db..44bbfb4a 100644 --- a/src/main/java/carpet/script/CarpetContext.java +++ b/src/main/java/carpet/script/CarpetContext.java @@ -21,7 +21,7 @@ public class CarpetContext extends Context } @Override - public Context duplicate() + public CarpetContext duplicate() { return new CarpetContext(this.host, this.s, this.origin); } diff --git a/src/main/java/carpet/script/CarpetEventServer.java b/src/main/java/carpet/script/CarpetEventServer.java index 9da3caa9..194a27f9 100644 --- a/src/main/java/carpet/script/CarpetEventServer.java +++ b/src/main/java/carpet/script/CarpetEventServer.java @@ -157,7 +157,7 @@ public class CarpetEventServer { // ignoring target as we will be always calling self super(context.host.getName(), null, function, args); - this.ctx = context; + this.ctx = context.duplicate(); this.dueTime = dueTime; }