GC driving me insane (#8305)

This commit is contained in:
Cadyn
2024-04-25 07:36:47 -07:00
committed by GitHub
parent 48644e3dd5
commit ec05492f97
5 changed files with 25 additions and 2 deletions

View File

@@ -99,6 +99,11 @@
return parent.return_network(reference)
/obj/machinery/atmospherics/pipe/Destroy()
//CHOMPEdit Begin
if(parent)
parent.members -= src
parent.edges -= src
//CHOMPEdit End
QDEL_NULL(parent)
if(air_temporary)
loc.assume_air(air_temporary)

View File

@@ -0,0 +1,11 @@
/obj/machinery/atmospherics/pipe/return_air()
if(!QDELETED(src)) return ..()
/obj/machinery/atmospherics/pipe/build_network()
if(!QDELETED(src)) return ..()
/obj/machinery/atmospherics/pipe/network_expand(datum/pipe_network/new_network, obj/machinery/atmospherics/pipe/reference)
if(!QDELETED(src)) return ..(new_network,reference)
/obj/machinery/atmospherics/pipe/return_network(obj/machinery/atmospherics/reference)
if(!QDELETED(src)) return ..(reference)

View File

@@ -107,7 +107,7 @@ SUBSYSTEM_DEF(machines)
while(current_run.len)
var/datum/pipe_network/PN = current_run[current_run.len]
current_run.len--
if(!PN)
if(!PN || QDELETED(PN)) //CHOMPEdit
networks.Remove(PN)
DISABLE_BITFIELD(PN?.datum_flags, DF_ISPROCESSING)
else
@@ -124,7 +124,7 @@ SUBSYSTEM_DEF(machines)
while(current_run.len)
var/obj/machinery/M = current_run[current_run.len]
current_run.len--
if(!M || (M.process(wait) == PROCESS_KILL))
if(!istype(M) || QDELETED(M) || (M.process(wait) == PROCESS_KILL)) //CHOMPEdit
processing_machines.Remove(M)
DISABLE_BITFIELD(M?.datum_flags, DF_ISPROCESSING)
if(MC_TICK_CHECK)

View File

@@ -40,3 +40,9 @@
entopic_users -= my_mob
if(my_mob.client)
my_mob.client.images -= entopic_images
//CHOMPEdit begin
/mob/Destroy()
. = ..()
entopic_users -= src
//CHOMPEdit end

View File

@@ -280,6 +280,7 @@
#include "code\ATMOSPHERICS\pipes\manifold.dm"
#include "code\ATMOSPHERICS\pipes\manifold4w.dm"
#include "code\ATMOSPHERICS\pipes\pipe_base.dm"
#include "code\ATMOSPHERICS\pipes\pipe_base_ch.dm"
#include "code\ATMOSPHERICS\pipes\pipe_base_vr.dm"
#include "code\ATMOSPHERICS\pipes\simple.dm"
#include "code\ATMOSPHERICS\pipes\tank.dm"