diff --git a/code/__HELPERS/path.dm b/code/__HELPERS/path.dm index 09c1e882f4e..fb6d9c27b2b 100644 --- a/code/__HELPERS/path.dm +++ b/code/__HELPERS/path.dm @@ -147,6 +147,11 @@ SSpathfinder.currentrun -= src if(on_finish) on_finish.Invoke(null) + on_finish = null + avoid = null + id = null + caller = null + open = null /** * "starts" off the pathfinding, by storing the values this datum will need to work later on diff --git a/code/_onclick/hud/radial_persistent.dm b/code/_onclick/hud/radial_persistent.dm index 58dfa0e07ef..5fe81d005bd 100644 --- a/code/_onclick/hud/radial_persistent.dm +++ b/code/_onclick/hud/radial_persistent.dm @@ -49,7 +49,7 @@ set_choices(newchoices,tooltips, set_page = target_page) /datum/radial_menu/persistent/Destroy() - QDEL_NULL(select_proc_callback) + select_proc_callback = null GLOB.radial_menus -= uniqueid Reset() hide() diff --git a/code/controllers/subsystem/movement/movement_types.dm b/code/controllers/subsystem/movement/movement_types.dm index 2c8c411e236..7067b3abbfc 100644 --- a/code/controllers/subsystem/movement/movement_types.dm +++ b/code/controllers/subsystem/movement/movement_types.dm @@ -405,6 +405,7 @@ /datum/move_loop/has_target/jps/Destroy() id = null //Kill me avoid = null + on_finish_callback = null return ..() /datum/move_loop/has_target/jps/proc/handle_no_id() diff --git a/code/datums/components/ai_retaliate_advanced.dm b/code/datums/components/ai_retaliate_advanced.dm index 1744394e8cb..ca477a0db27 100644 --- a/code/datums/components/ai_retaliate_advanced.dm +++ b/code/datums/components/ai_retaliate_advanced.dm @@ -16,6 +16,10 @@ ADD_TRAIT(parent, TRAIT_SUBTREE_REQUIRED_OPERATIONAL_DATUM, type) +/datum/component/ai_retaliate_advanced/Destroy(force, silent) + post_retaliate_callback = null + return ..() + /datum/component/ai_retaliate_advanced/RegisterWithParent() RegisterSignal(parent, COMSIG_ATOM_WAS_ATTACKED, PROC_REF(on_attacked)) diff --git a/code/datums/components/basic_mob_attack_telegraph.dm b/code/datums/components/basic_mob_attack_telegraph.dm index 96b417ea1d8..6467fbd7bbc 100644 --- a/code/datums/components/basic_mob_attack_telegraph.dm +++ b/code/datums/components/basic_mob_attack_telegraph.dm @@ -25,6 +25,13 @@ src.telegraph_duration = telegraph_duration src.on_began_forecast = on_began_forecast +/datum/component/basic_mob_attack_telegraph/Destroy(force, silent) + if(current_target) + forget_target(current_target) + target_overlay = null + on_began_forecast = null + return ..() + /datum/component/basic_mob_attack_telegraph/RegisterWithParent() . = ..() RegisterSignal(parent, COMSIG_HOSTILE_PRE_ATTACKINGTARGET, PROC_REF(on_attack)) diff --git a/code/datums/components/bullet_intercepting.dm b/code/datums/components/bullet_intercepting.dm index ffae74f381d..d8de0680665 100644 --- a/code/datums/components/bullet_intercepting.dm +++ b/code/datums/components/bullet_intercepting.dm @@ -26,6 +26,7 @@ RegisterSignal(parent, COMSIG_ITEM_PRE_UNEQUIP, PROC_REF(on_unequipped)) /datum/component/bullet_intercepting/Destroy(force, silent) + wearer = null on_intercepted = null return ..() diff --git a/code/datums/components/butchering.dm b/code/datums/components/butchering.dm index 8ed9cbcc116..6aa4555f3aa 100644 --- a/code/datums/components/butchering.dm +++ b/code/datums/components/butchering.dm @@ -34,6 +34,10 @@ if(isitem(parent)) RegisterSignal(parent, COMSIG_ITEM_ATTACK, PROC_REF(onItemAttack)) +/datum/component/butchering/Destroy(force, silent) + butcher_callback = null + return ..() + /datum/component/butchering/proc/onItemAttack(obj/item/source, mob/living/M, mob/living/user) SIGNAL_HANDLER diff --git a/code/datums/components/combo_attacks.dm b/code/datums/components/combo_attacks.dm index 1524451b67a..33989e26682 100644 --- a/code/datums/components/combo_attacks.dm +++ b/code/datums/components/combo_attacks.dm @@ -32,6 +32,10 @@ src.leniency_time = leniency_time src.can_attack_callback = can_attack_callback +/datum/component/combo_attacks/Destroy(force, silent) + can_attack_callback = null + return ..() + /datum/component/combo_attacks/RegisterWithParent() RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine)) RegisterSignal(parent, COMSIG_ATOM_EXAMINE_MORE, PROC_REF(on_examine_more)) diff --git a/code/datums/components/deadchat_control.dm b/code/datums/components/deadchat_control.dm index 0a31cae6b88..48096e47670 100644 --- a/code/datums/components/deadchat_control.dm +++ b/code/datums/components/deadchat_control.dm @@ -51,6 +51,7 @@ ckey_to_cooldown = null if(generated_point_of_interest) SSpoints_of_interest.remove_point_of_interest(parent) + on_removal = null return ..() /datum/component/deadchat_control/proc/deadchat_react(mob/source, message) diff --git a/code/datums/components/egg_layer.dm b/code/datums/components/egg_layer.dm index 7aceb7bd55d..a1e137de6d3 100644 --- a/code/datums/components/egg_layer.dm +++ b/code/datums/components/egg_layer.dm @@ -50,6 +50,7 @@ /datum/component/egg_layer/Destroy(force, silent) . = ..() STOP_PROCESSING(SSobj, src) + egg_laid_callback = null /datum/component/egg_layer/proc/feed_food(datum/source, obj/item/food, mob/living/attacker, params) SIGNAL_HANDLER diff --git a/code/datums/components/food/golem_food.dm b/code/datums/components/food/golem_food.dm index 01e44a5958c..79ac0a3e604 100644 --- a/code/datums/components/food/golem_food.dm +++ b/code/datums/components/food/golem_food.dm @@ -31,6 +31,7 @@ /datum/component/golem_food/Destroy(force, silent) QDEL_NULL(golem_snack) + snack_type = null extra_validation = null return ..() diff --git a/code/datums/components/growth_and_differentiation.dm b/code/datums/components/growth_and_differentiation.dm index 3132ac46255..0920344ce58 100644 --- a/code/datums/components/growth_and_differentiation.dm +++ b/code/datums/components/growth_and_differentiation.dm @@ -66,6 +66,8 @@ /datum/component/growth_and_differentiation/Destroy(force, silent) STOP_PROCESSING(SSdcs, src) deltimer(timer_id) + optional_checks = null + optional_grow_behavior = null return ..() /// Wrapper for qdel() so we can pass it in RegisterSignals(). I hate it here too. diff --git a/code/datums/components/interaction_booby_trap.dm b/code/datums/components/interaction_booby_trap.dm index c099eec9174..6f57e4f6b75 100644 --- a/code/datums/components/interaction_booby_trap.dm +++ b/code/datums/components/interaction_booby_trap.dm @@ -59,8 +59,8 @@ /datum/component/interaction_booby_trap/Destroy(force, silent) UnregisterSignal(parent, list(COMSIG_ATOM_ATTACK_HAND, COMSIG_ATOM_TOOL_ACT(defuse_tool), COMSIG_ATOM_EXAMINE_MORE) + additional_triggers) QDEL_NULL(active_sound_loop) - QDEL_NULL(on_triggered_callback) - QDEL_NULL(on_defused_callback) + on_triggered_callback = null + on_defused_callback = null return ..() /// Called when someone touches the parent atom with their hands, we want to blow up diff --git a/code/datums/components/jetpack.dm b/code/datums/components/jetpack.dm index dbc22d4ce5a..f7e1fca70e6 100644 --- a/code/datums/components/jetpack.dm +++ b/code/datums/components/jetpack.dm @@ -63,7 +63,7 @@ if(trail && trail.effect_type != effect_type) setup_trail(trail.holder) -/datum/component/jetpack/Destroy() +/datum/component/jetpack/Destroy(force, silent) if(trail) QDEL_NULL(trail) check_on_move = null diff --git a/code/datums/components/keep_me_secure.dm b/code/datums/components/keep_me_secure.dm index 903d3bf1d5d..9bce3ab5e86 100644 --- a/code/datums/components/keep_me_secure.dm +++ b/code/datums/components/keep_me_secure.dm @@ -22,6 +22,11 @@ src.secured_callback = secured_callback src.unsecured_callback = unsecured_callback +/datum/component/keep_me_secure/Destroy(force, silent) + secured_callback = null + unsecured_callback = null + return ..() + /datum/component/keep_me_secure/RegisterWithParent() last_move = world.time if (secured_callback || unsecured_callback) diff --git a/code/datums/components/lock_on_cursor.dm b/code/datums/components/lock_on_cursor.dm index 1811a13aa9b..0ccac6ee2f9 100644 --- a/code/datums/components/lock_on_cursor.dm +++ b/code/datums/components/lock_on_cursor.dm @@ -62,12 +62,14 @@ mouse_tracker.assign_to_mob(owner) START_PROCESSING(SSfastprocess, src) -/datum/component/lock_on_cursor/Destroy() +/datum/component/lock_on_cursor/Destroy(force, silent) clear_visuals() STOP_PROCESSING(SSfastprocess, src) mouse_tracker = null var/mob/owner = parent owner.clear_fullscreen("lock_on") + on_lock = null + can_target_callback = null return ..() /// Adds overlays to all targets diff --git a/code/datums/components/nuclear_bomb_operator.dm b/code/datums/components/nuclear_bomb_operator.dm index 2224f95803b..da6e8b0cab1 100644 --- a/code/datums/components/nuclear_bomb_operator.dm +++ b/code/datums/components/nuclear_bomb_operator.dm @@ -50,6 +50,8 @@ /datum/component/nuclear_bomb_operator/Destroy(force, silent) QDEL_NULL(disky) + on_disk_collected = null + add_disk_overlays = null return ..() /// Drop the disk on the floor, if we have it diff --git a/code/datums/components/on_hit_effect.dm b/code/datums/components/on_hit_effect.dm index 062c335a7ee..38610395248 100644 --- a/code/datums/components/on_hit_effect.dm +++ b/code/datums/components/on_hit_effect.dm @@ -18,6 +18,11 @@ if(!(ismachinery(parent) || isstructure(parent) || isgun(parent) || isprojectilespell(parent) || isitem(parent) || isanimal_or_basicmob(parent) || isprojectile(parent))) return ELEMENT_INCOMPATIBLE +/datum/component/on_hit_effect/Destroy(force, silent) + on_hit_callback = null + extra_check_callback = null + return ..() + /datum/component/on_hit_effect/RegisterWithParent() if(ismachinery(parent) || isstructure(parent) || isgun(parent) || isprojectilespell(parent)) RegisterSignal(parent, COMSIG_PROJECTILE_ON_HIT, PROC_REF(on_projectile_hit)) diff --git a/code/datums/components/puzzgrid.dm b/code/datums/components/puzzgrid.dm index 0f54fce9929..8a7620b06e3 100644 --- a/code/datums/components/puzzgrid.dm +++ b/code/datums/components/puzzgrid.dm @@ -55,6 +55,12 @@ addtimer(CALLBACK(src, PROC_REF(out_of_time)), timer) time_to_finish = world.time + timer +/datum/component/puzzgrid/Destroy(force, silent) + puzzgrid = null + on_victory_callback = null + on_fail_callback = null + return ..() + /datum/component/puzzgrid/RegisterWithParent() RegisterSignal(parent, COMSIG_ATOM_ATTACK_HAND, PROC_REF(on_attack_hand)) diff --git a/code/datums/components/reagent_refiller.dm b/code/datums/components/reagent_refiller.dm index ae223488bc0..4e2da58c79b 100644 --- a/code/datums/components/reagent_refiller.dm +++ b/code/datums/components/reagent_refiller.dm @@ -28,6 +28,10 @@ return ..() +/datum/component/reagent_refiller/Destroy(force, silent) + power_draw_callback = null + return ..() + /datum/component/reagent_refiller/RegisterWithParent() RegisterSignal(parent, COMSIG_ITEM_AFTERATTACK, PROC_REF(refill)) RegisterSignal(parent, COMSIG_ATOM_EXITED, PROC_REF(delete_self)) diff --git a/code/datums/components/reflection.dm b/code/datums/components/reflection.dm index cb411720f7f..80532ca2a61 100644 --- a/code/datums/components/reflection.dm +++ b/code/datums/components/reflection.dm @@ -55,9 +55,10 @@ var/list/reflect_update_signals = list(COMSIG_MOVABLE_MOVED) + update_signals RegisterSignals(parent, reflect_update_signals, PROC_REF(get_reflection_targets)) -/datum/component/reflection/Destroy() +/datum/component/reflection/Destroy(force, silent) QDEL_LIST_ASSOC_VAL(reflected_movables) QDEL_NULL(reflection_holder) + can_reflect = null return ..() ///Called when the parent changes its direction. diff --git a/code/datums/components/religious_tool.dm b/code/datums/components/religious_tool.dm index 2571f0c13d4..fabed36595c 100644 --- a/code/datums/components/religious_tool.dm +++ b/code/datums/components/religious_tool.dm @@ -28,6 +28,13 @@ if(override_catalyst_type) catalyst_type = override_catalyst_type +/datum/component/religious_tool/Destroy(force, silent) + easy_access_sect = null + performing_rite = null + catalyst_type = null + after_sect_select_cb = null + return ..() + /datum/component/religious_tool/RegisterWithParent() RegisterSignal(parent, COMSIG_ATOM_ATTACKBY, PROC_REF(AttemptActions)) RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine)) diff --git a/code/datums/components/rotation.dm b/code/datums/components/rotation.dm index e47a47f595d..4bcfa8b01c9 100644 --- a/code/datums/components/rotation.dm +++ b/code/datums/components/rotation.dm @@ -32,7 +32,7 @@ /datum/component/simple_rotation/RegisterWithParent() AddSignals() - . = ..() + return ..() /datum/component/simple_rotation/PostTransfer() //Because of the callbacks which we don't track cleanly we can't transfer this @@ -42,12 +42,12 @@ /datum/component/simple_rotation/UnregisterFromParent() RemoveSignals() - . = ..() + return ..() /datum/component/simple_rotation/Destroy() AfterRotation = null //Signals + verbs removed via UnRegister - . = ..() + return ..() /datum/component/simple_rotation/ClearFromParent() return ..() diff --git a/code/datums/components/sitcomlaughter.dm b/code/datums/components/sitcomlaughter.dm index 04a190d15f0..8ca335eb8b5 100644 --- a/code/datums/components/sitcomlaughter.dm +++ b/code/datums/components/sitcomlaughter.dm @@ -22,6 +22,9 @@ if(laugh_delay) src.laugh_delay = laugh_delay +/datum/component/wearertargeting/sitcomlaughter/Destroy(force, silent) + post_comedy_callback = null + return ..() ///Play the laugh track if any of the signals related to comedy have been sent. /datum/component/wearertargeting/sitcomlaughter/proc/EngageInComedy(datum/source) diff --git a/code/datums/components/slippery.dm b/code/datums/components/slippery.dm index d0add3b77eb..be1d674eb4d 100644 --- a/code/datums/components/slippery.dm +++ b/code/datums/components/slippery.dm @@ -58,6 +58,12 @@ else RegisterSignal(parent, COMSIG_ATOM_ENTERED, PROC_REF(Slip)) +/datum/component/slippery/Destroy(force, silent) + can_slip_callback = null + on_slip_callback = null + holder = null + return ..() + /datum/component/slippery/proc/apply_fantasy_bonuses(obj/item/source, bonus) SIGNAL_HANDLER knockdown_time = source.modify_fantasy_variable("knockdown_time", knockdown_time, bonus) diff --git a/code/datums/components/squashable.dm b/code/datums/components/squashable.dm index a79a1802f04..5fc489873bf 100644 --- a/code/datums/components/squashable.dm +++ b/code/datums/components/squashable.dm @@ -29,6 +29,10 @@ AddComponent(/datum/component/connect_loc_behalf, parent, loc_connections) +/datum/component/squashable/Destroy(force, silent) + on_squash_callback = null + return ..() + ///Handles the squashing of the mob /datum/component/squashable/proc/on_entered(turf/source_turf, atom/movable/crossing_movable) SIGNAL_HANDLER diff --git a/code/datums/components/subtype_picker.dm b/code/datums/components/subtype_picker.dm index 5ab4785e7a7..2bc429f9b70 100644 --- a/code/datums/components/subtype_picker.dm +++ b/code/datums/components/subtype_picker.dm @@ -22,6 +22,10 @@ src.on_picked_callback = on_picked_callback build_radial_list() +/datum/component/subtype_picker/Destroy(force, silent) + on_picked_callback = null + return ..() + /datum/component/subtype_picker/RegisterWithParent() . = ..() RegisterSignal(parent, COMSIG_ITEM_ATTACK_SELF, PROC_REF(on_attack_self)) diff --git a/code/datums/components/supermatter_crystal.dm b/code/datums/components/supermatter_crystal.dm index 6337b729923..65c11ce2417 100644 --- a/code/datums/components/supermatter_crystal.dm +++ b/code/datums/components/supermatter_crystal.dm @@ -21,6 +21,11 @@ src.tool_act_callback = tool_act_callback src.consume_callback = consume_callback +/datum/component/supermatter_crystal/Destroy(force, silent) + tool_act_callback = null + consume_callback = null + return ..() + /datum/component/supermatter_crystal/UnregisterFromParent(force, silent) var/list/signals_to_remove = list( COMSIG_ATOM_BLOB_ACT, diff --git a/code/datums/components/swabbing.dm b/code/datums/components/swabbing.dm index 056f97cf98b..fa649a5e018 100644 --- a/code/datums/components/swabbing.dm +++ b/code/datums/components/swabbing.dm @@ -32,12 +32,12 @@ This component is used in vat growing to swab for microbiological samples which src.update_icons = update_icons src.update_overlays = update_overlays -/datum/component/swabbing/Destroy() - . = ..() +/datum/component/swabbing/Destroy(force, silent) for(var/swabbed in swabbed_items) qdel(swabbed) update_icons = null update_overlays = null + return ..() ///Changes examine based on your sample diff --git a/code/datums/components/takes_reagent_appearance.dm b/code/datums/components/takes_reagent_appearance.dm index 59bd17adb87..6505290b4cb 100644 --- a/code/datums/components/takes_reagent_appearance.dm +++ b/code/datums/components/takes_reagent_appearance.dm @@ -43,7 +43,7 @@ src.base_container_type = base_container_type || parent.type -/datum/component/takes_reagent_appearance/Destroy() +/datum/component/takes_reagent_appearance/Destroy(force, silent) on_icon_changed = null on_icon_reset = null return ..() diff --git a/code/datums/components/tameable.dm b/code/datums/components/tameable.dm index 2799934c2cb..81228b2c3cc 100644 --- a/code/datums/components/tameable.dm +++ b/code/datums/components/tameable.dm @@ -32,6 +32,10 @@ RegisterSignal(parent, COMSIG_SIMPLEMOB_SENTIENCEPOTION, PROC_REF(on_tame)) //Instantly succeeds RegisterSignal(parent, COMSIG_SIMPLEMOB_TRANSFERPOTION, PROC_REF(on_tame)) //Instantly succeeds +/datum/component/tameable/Destroy(force, silent) + after_tame = null + return ..() + /datum/component/tameable/proc/try_tame(datum/source, obj/item/food, mob/living/attacker, params) SIGNAL_HANDLER if(!is_type_in_list(food, food_types)) diff --git a/code/datums/components/thermite.dm b/code/datums/components/thermite.dm index 2ae5071ad58..7ab8b755ca1 100644 --- a/code/datums/components/thermite.dm +++ b/code/datums/components/thermite.dm @@ -58,7 +58,7 @@ deltimer(burn_timer) burn_timer = null if(burn_callback) - QDEL_NULL(burn_callback) + burn_callback = null if(fakefire) QDEL_NULL(fakefire) return ..() diff --git a/code/datums/components/toggle_attached_clothing.dm b/code/datums/components/toggle_attached_clothing.dm index 805b289e618..f8197b1f086 100644 --- a/code/datums/components/toggle_attached_clothing.dm +++ b/code/datums/components/toggle_attached_clothing.dm @@ -82,6 +82,7 @@ unequip_deployable() QDEL_NULL(deployable) QDEL_NULL(toggle_action) + undeployed_overlay = null pre_creation_check = null on_created = null on_deployed = null diff --git a/code/datums/components/twohanded.dm b/code/datums/components/twohanded.dm index de2347546ed..3b015c95383 100644 --- a/code/datums/components/twohanded.dm +++ b/code/datums/components/twohanded.dm @@ -56,6 +56,12 @@ if(require_twohands) ADD_TRAIT(parent, TRAIT_NEEDS_TWO_HANDS, ABSTRACT_ITEM_TRAIT) +/datum/component/two_handed/Destroy(force, silent) + offhand_item = null + wield_callback = null + unwield_callback = null + return ..() + // Inherit the new values passed to the component /datum/component/two_handed/InheritComponent(datum/component/two_handed/new_comp, original, require_twohands, wieldsound, unwieldsound, \ force_multiplier, force_wielded, force_unwielded, icon_wielded, \ diff --git a/code/datums/components/udder.dm b/code/datums/components/udder.dm index a72d67e0c9f..bd622a944d7 100644 --- a/code/datums/components/udder.dm +++ b/code/datums/components/udder.dm @@ -22,6 +22,7 @@ /datum/component/udder/UnregisterFromParent() QDEL_NULL(udder) + on_milk_callback = null UnregisterSignal(parent, list(COMSIG_ATOM_EXAMINE, COMSIG_ATOM_ATTACKBY)) ///signal called on parent being examined @@ -82,6 +83,7 @@ . = ..() STOP_PROCESSING(SSobj, src) udder_mob = null + on_generate_callback = null /obj/item/udder/process(seconds_per_tick) if(udder_mob.stat != DEAD) diff --git a/code/datums/forced_movement.dm b/code/datums/forced_movement.dm index 93371f0430b..407f258281c 100644 --- a/code/datums/forced_movement.dm +++ b/code/datums/forced_movement.dm @@ -33,6 +33,7 @@ STOP_PROCESSING(SSfastprocess, src) victim = null target = null + on_step = null return ..() //Todo: convert diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index 8f41de45229..6de510be91a 100644 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -927,6 +927,10 @@ if(new_possible_answers) possible_answers = new_possible_answers +/datum/comm_message/Destroy() + answer_callback = null + return ..() + #undef IMPORTANT_ACTION_COOLDOWN #undef EMERGENCY_ACCESS_COOLDOWN #undef STATE_BUYING_SHUTTLE diff --git a/code/modules/admin/greyscale_modify_menu.dm b/code/modules/admin/greyscale_modify_menu.dm index c81d61cc933..55b2ffeb8da 100644 --- a/code/modules/admin/greyscale_modify_menu.dm +++ b/code/modules/admin/greyscale_modify_menu.dm @@ -83,6 +83,8 @@ /datum/greyscale_modify_menu/Destroy() target = null user = null + apply_callback = null + config = null return ..() /datum/greyscale_modify_menu/ui_state(mob/user) diff --git a/code/modules/antagonists/heretic/status_effects/ghoul.dm b/code/modules/antagonists/heretic/status_effects/ghoul.dm index 079acda6596..5c19fb1bf9a 100644 --- a/code/modules/antagonists/heretic/status_effects/ghoul.dm +++ b/code/modules/antagonists/heretic/status_effects/ghoul.dm @@ -16,8 +16,8 @@ /datum/status_effect/ghoul/Destroy() master_mind = null - QDEL_NULL(on_made_callback) - QDEL_NULL(on_lost_callback) + on_made_callback = null + on_lost_callback = null return ..() /datum/status_effect/ghoul/on_creation( diff --git a/code/modules/escape_menu/home_page.dm b/code/modules/escape_menu/home_page.dm index 344dec9828c..48e6147a33b 100644 --- a/code/modules/escape_menu/home_page.dm +++ b/code/modules/escape_menu/home_page.dm @@ -83,7 +83,7 @@ /atom/movable/screen/escape_menu/home_button/Destroy() escape_menu = null - QDEL_NULL(on_click_callback) + on_click_callback = null return ..() diff --git a/code/modules/escape_menu/leave_body.dm b/code/modules/escape_menu/leave_body.dm index 3dd4c69ad78..428afe899df 100644 --- a/code/modules/escape_menu/leave_body.dm +++ b/code/modules/escape_menu/leave_body.dm @@ -101,7 +101,7 @@ screen_loc = "CENTER:[pixel_offset],CENTER-1" /atom/movable/screen/escape_menu/leave_body_button/Destroy() - QDEL_NULL(on_click_callback) + on_click_callback = null return ..() diff --git a/code/modules/mod/mod_link.dm b/code/modules/mod/mod_link.dm index 42d2f664a82..451e540d0f9 100644 --- a/code/modules/mod/mod_link.dm +++ b/code/modules/mod/mod_link.dm @@ -367,6 +367,10 @@ GLOB.mod_link_ids -= id if(link_call) end_call() + get_user_callback = null + make_visual_callback = null + get_visual_callback = null + delete_visual_callback = null return ..() /datum/mod_link/proc/get_other()