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
This commit is contained in:
LemonInTheDark
2023-08-22 21:32:30 -05:00
committed by GitHub
parent a77ec399d9
commit ed0999e4ea
29 changed files with 64 additions and 64 deletions
@@ -15,7 +15,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
@@ -27,11 +27,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)