From 9a2b5f52f063a81131daf00a5c0e0d54cad6208b Mon Sep 17 00:00:00 2001 From: SandPoot Date: Sun, 15 Feb 2026 22:57:04 -0300 Subject: [PATCH] push --- .../integrated_electronics/core/helpers.dm | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/code/modules/integrated_electronics/core/helpers.dm b/code/modules/integrated_electronics/core/helpers.dm index dec13b22a8..67e3a9f3e4 100644 --- a/code/modules/integrated_electronics/core/helpers.dm +++ b/code/modules/integrated_electronics/core/helpers.dm @@ -23,14 +23,15 @@ /obj/item/integrated_circuit/proc/set_pin_data(pin_type, pin_number, datum/new_data) if(islist(new_data)) var/list/new_data_list = new_data - var/list/output = list() for(var/data_iterator in 1 to length(new_data_list)) if (isdatum(new_data_list[data_iterator]) && !isweakref(new_data_list[data_iterator])) - output[data_iterator] = WEAKREF(new_data_list[data_iterator]) - new_data = output + new_data_list[data_iterator] = WEAKREF(new_data_list[data_iterator]) + new_data = new_data_list else if (isdatum(new_data) && !isweakref(new_data)) new_data = WEAKREF(new_data) var/datum/integrated_io/pin = get_pin_ref(pin_type, pin_number) + if(QDELETED(pin)) + return return pin.write_data_to_pin(new_data) /obj/item/integrated_circuit/proc/get_pin_data(pin_type, pin_number) @@ -50,6 +51,8 @@ /obj/item/integrated_circuit/proc/activate_pin(pin_number) var/datum/integrated_io/activate/A = activators[pin_number] + if(QDELETED(A)) + return A.push_data() /obj/item/integrated_circuit/proc/get_pin_ref(pin_type, pin_number) @@ -71,12 +74,11 @@ /datum/integrated_io/proc/get_data() if(islist(data)) var/list/data_list = data - var/list/output = list() for(var/data_iterator in 1 to length(data_list)) if(isweakref(data_list[data_iterator])) var/datum/weakref/data_weakref = data_list[data_iterator] - output[data_iterator] = data_weakref.resolve() - data = output + data_list[data_iterator] = data_weakref.resolve() + data = data_list else if(isweakref(data)) return data.resolve() return data @@ -121,6 +123,8 @@ return var/obj/item/integrated_circuit/component = components[component_number] + if(QDELETED(component)) + return return component.get_pin_ref(pin_type, pin_number)