From b825ca1545cc4ac3c33d455a880ef4bb1212e305 Mon Sep 17 00:00:00 2001 From: oranges Date: Fri, 7 Jul 2017 15:46:38 +1200 Subject: [PATCH] Machine subsystem now checks qdel status (#29073) If an item is qdeleted, it is not queued for processing and removed from the processing list (if it's not already gone) This will prevent machines getting processed when qdeleted (due to being cached in the subsystem current run list) --- code/controllers/subsystem/machines.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/controllers/subsystem/machines.dm b/code/controllers/subsystem/machines.dm index 0c99eb7ea44..391804c4f8a 100644 --- a/code/controllers/subsystem/machines.dm +++ b/code/controllers/subsystem/machines.dm @@ -39,12 +39,12 @@ SUBSYSTEM_DEF(machines) while(currentrun.len) var/obj/machinery/thing = currentrun[currentrun.len] currentrun.len-- - if(thing && thing.process(seconds) != PROCESS_KILL) + if(!QDELETED(thing) && thing.process(seconds) != PROCESS_KILL) if(thing.use_power) thing.auto_use_power() //add back the power state else processing -= thing - if (thing) + if (!QDELETED(thing)) thing.isprocessing = 0 if (MC_TICK_CHECK) return