From ee8fe38a8ac5edd38ba4d55303c1b2e65fc0da31 Mon Sep 17 00:00:00 2001 From: Selis <12716288+ItsSelis@users.noreply.github.com> Date: Sun, 5 Jan 2025 00:28:58 +0100 Subject: [PATCH] Enables SHOULD_CALL_PARENT for datum Destroy proc (#16828) --- code/controllers/autotransfer.dm | 1 + code/datums/datum.dm | 2 +- code/game/objects/items/weapons/storage/storage.dm | 1 + code/global_init.dm | 1 + code/modules/resleeving/infocore_records.dm | 1 + code/modules/tgui/modules/atmos_control.dm | 1 + 6 files changed, 6 insertions(+), 1 deletion(-) diff --git a/code/controllers/autotransfer.dm b/code/controllers/autotransfer.dm index 6bc2bd6dafd..e06b2ccd308 100644 --- a/code/controllers/autotransfer.dm +++ b/code/controllers/autotransfer.dm @@ -13,6 +13,7 @@ var/datum/controller/transfer_controller/transfer_controller /datum/controller/transfer_controller/Destroy() STOP_PROCESSING(SSprocessing, src) + ..() /datum/controller/transfer_controller/process() currenttick = currenttick + 1 diff --git a/code/datums/datum.dm b/code/datums/datum.dm index 2c37b78811b..95e77fa9a3d 100644 --- a/code/datums/datum.dm +++ b/code/datums/datum.dm @@ -86,7 +86,7 @@ * Returns [QDEL_HINT_QUEUE] */ /datum/proc/Destroy(force=FALSE) - //SHOULD_CALL_PARENT(TRUE) + SHOULD_CALL_PARENT(TRUE) //SHOULD_NOT_SLEEP(TRUE) tag = null weak_reference = null //ensure prompt GCing of weakref. diff --git a/code/game/objects/items/weapons/storage/storage.dm b/code/game/objects/items/weapons/storage/storage.dm index 5fc8d4cd1a6..6d41c51a985 100644 --- a/code/game/objects/items/weapons/storage/storage.dm +++ b/code/game/objects/items/weapons/storage/storage.dm @@ -859,6 +859,7 @@ /atom/movable/storage_slot/Destroy() held_item = null + ..() /// Has to be this way. The fact that the overlays will be constantly mutated by other storage means we can't wait. /atom/movable/storage_slot/add_overlay(list/somethings) diff --git a/code/global_init.dm b/code/global_init.dm index bc9d0e4da5e..3d4f9d3e001 100644 --- a/code/global_init.dm +++ b/code/global_init.dm @@ -31,4 +31,5 @@ var/global/datum/global_init/init = new () /datum/global_init/Destroy() global.init = null + ..() return 2 // QDEL_HINT_IWILLGC diff --git a/code/modules/resleeving/infocore_records.dm b/code/modules/resleeving/infocore_records.dm index 1ddb06f1933..503981584c2 100644 --- a/code/modules/resleeving/infocore_records.dm +++ b/code/modules/resleeving/infocore_records.dm @@ -103,6 +103,7 @@ mind_ref = null limb_data.Cut() organ_data.Cut() + ..() return QDEL_HINT_HARDDEL // For now at least there is no easy way to clear references to this in machines etc. /datum/transhuman/body_record/proc/init_from_mob(var/mob/living/carbon/human/M, var/add_to_db = 0, var/ckeylock = 0, var/database_key) diff --git a/code/modules/tgui/modules/atmos_control.dm b/code/modules/tgui/modules/atmos_control.dm index d2c7c71ec92..c79c9190c6f 100644 --- a/code/modules/tgui/modules/atmos_control.dm +++ b/code/modules/tgui/modules/atmos_control.dm @@ -106,6 +106,7 @@ /datum/tgui_state/air_alarm_remote/Destroy() atmos_control = null air_alarm = null + return ..() /datum/tgui_module/atmos_control/ntos ntos = TRUE