From 19848eeb3a646abe8b4958e2cf17a894cf84edba Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Fri, 30 Sep 2022 07:43:48 +0200 Subject: [PATCH] [MIRROR] Fixes a runtime when the MC invokes a varedited callback synchronously [MDB IGNORE] (#16536) * Fixes a runtime when the MC invokes a varedited callback synchronously (#70172) * Fixes a runtime when the MC invokes a varedited callback synchronously Co-authored-by: Y0SH1M4S73R --- code/datums/callback.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/datums/callback.dm b/code/datums/callback.dm index 3d655ef124e..279ac647535 100644 --- a/code/datums/callback.dm +++ b/code/datums/callback.dm @@ -124,7 +124,7 @@ else calling_arguments = args if(datum_flags & DF_VAR_EDITED) - if(usr && usr != GLOB.AdminProcCallHandler && !usr.client?.ckey) //This ONLY happens when usr's client switches mobs just before the callback gets invoked. + if(usr != GLOB.AdminProcCallHandler && !usr?.client?.ckey) //This happens when a timer or the MC invokes a callback return HandleUserlessProcCall(usr, object, delegate, calling_arguments) return WrapAdminProcCall(object, delegate, calling_arguments) if (object == GLOBAL_PROC) @@ -161,7 +161,7 @@ else calling_arguments = args if(datum_flags & DF_VAR_EDITED) - if(usr != GLOB.AdminProcCallHandler && !usr?.client?.ckey) //This happens when a timer invokes a callback + if(usr != GLOB.AdminProcCallHandler && !usr?.client?.ckey) //This happens when a timer or the MC invokes a callback return HandleUserlessProcCall(usr, object, delegate, calling_arguments) return WrapAdminProcCall(object, delegate, calling_arguments) if (object == GLOBAL_PROC)