[MIRROR] Adds error on qdeling callback, fixes errors this causes [MDB IGNORE] (#23271)

* Adds error on qdeling callback, fixes errors this causes (#77850)

## About The Pull Request

You shouldn't ever qdel a callback. If you don't want to own it free
your ref (remove it from a list/set it to null). When all refs are
cleared it'll get cleaned up by byond itself

* Adds error on qdeling callback, fixes errors this causes

* Update cell_component.dm

* Update acid.dm

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
This commit is contained in:
SkyratBot
2023-08-23 04:43:34 -04:00
committed by GitHub
co-authored by LemonInTheDark Giz
parent 5ead586c66
commit 25fb2e098b
31 changed files with 66 additions and 66 deletions
@@ -17,7 +17,7 @@ GLOBAL_DATUM_INIT(keycard_events, /datum/events, new)
req_access = list(ACCESS_KEYCARD_AUTH)
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
var/datum/callback/ev
var/datum/callback/activated
var/event = ""
var/obj/machinery/keycard_auth/event_source
var/mob/triggerer = null
@@ -29,11 +29,11 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/keycard_auth, 26)
/obj/machinery/keycard_auth/Initialize(mapload)
. = ..()
ev = GLOB.keycard_events.addEvent("triggerEvent", CALLBACK(src, PROC_REF(triggerEvent)))
activated = GLOB.keycard_events.addEvent("triggerEvent", CALLBACK(src, PROC_REF(triggerEvent)))
/obj/machinery/keycard_auth/Destroy()
GLOB.keycard_events.clearEvent("triggerEvent", ev)
QDEL_NULL(ev)
GLOB.keycard_events.clearEvent("triggerEvent", activated)
activated = null
return ..()
/obj/machinery/keycard_auth/ui_state(mob/user)