Skip to content

Commit 1ac230f

Browse files
committed
Ensure correct sender in uncaught exception handler
1 parent 9db7721 commit 1ac230f

File tree

2 files changed

+3
-0
lines changed

2 files changed

+3
-0
lines changed

src/main/java/com/laytonsmith/core/constructs/CClosure.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,7 @@ protected void execute(Mixed... values) throws ConfigRuntimeException, ProgramFl
303303
} catch (CancelCommandException e) {
304304
// die()
305305
} catch (ConfigRuntimeException ex) {
306+
ex.setEnv(environment);
306307
if(ex instanceof AbstractCREException) {
307308
((AbstractCREException) ex).freezeStackTraceElements(stManager);
308309
}

src/main/java/com/laytonsmith/core/exceptions/ConfigRuntimeException.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,8 @@ public static Reaction GetReaction(ConfigRuntimeException e, Environment env) {
115115
if(e.getEnv() != null) {
116116
MCCommandSender sender = e.getEnv().getEnv(CommandHelperEnvironment.class).GetCommandSender();
117117
c.getEnv().getEnv(CommandHelperEnvironment.class).SetCommandSender(sender);
118+
} else {
119+
c.getEnv().getEnv(CommandHelperEnvironment.class).SetCommandSender(null);
118120
}
119121
try {
120122
Mixed ret = c.executeCallable(env, Target.UNKNOWN, new Mixed[]{ex});

0 commit comments

Comments
 (0)