From cad5a637d75f6c8a4ca52104b78cdedda8f2c429 Mon Sep 17 00:00:00 2001 From: mikomyazaki <47489928+mikomyazaki@users.noreply.github.com> Date: Sun, 2 Aug 2020 15:31:29 +0100 Subject: [PATCH] _SendSignal now sends arguments properly to INVOKE_ASYNC (#9550) --- code/datums/components/_component.dm | 6 ++++-- html/changelogs/send_signal_args.yml | 6 ++++++ 2 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 html/changelogs/send_signal_args.yml diff --git a/code/datums/components/_component.dm b/code/datums/components/_component.dm index 1b99b99dfc0..f3c27d9a407 100644 --- a/code/datums/components/_component.dm +++ b/code/datums/components/_component.dm @@ -290,14 +290,16 @@ if(!C.signal_enabled) return NONE var/proctype = C.signal_procs[src][sigtype] - return NONE | INVOKE_ASYNC(C, proctype, arguments) + arguments = list(C, proctype) + arguments + return NONE | INVOKE_ASYNC(arglist(arguments)) . = NONE for(var/I in target) var/datum/C = I if(!C.signal_enabled) continue var/proctype = C.signal_procs[src][sigtype] - . |= INVOKE_ASYNC(C, proctype, arguments) + arguments = list(C, proctype) + arguments + . |= INVOKE_ASYNC(arglist(arguments)) // The type arg is casted so initial works, you shouldn't be passing a real instance into this /** diff --git a/html/changelogs/send_signal_args.yml b/html/changelogs/send_signal_args.yml new file mode 100644 index 00000000000..de282b95ac9 --- /dev/null +++ b/html/changelogs/send_signal_args.yml @@ -0,0 +1,6 @@ +author: mikomyazaki + +delete-after: True + +changes: + - backend: "_SendSignal now properly formats arguments for sending to components and elements." \ No newline at end of file