From d3fbaea8bd5717d888fd2ebd6ff88bbb2257121e Mon Sep 17 00:00:00 2001 From: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Date: Sat, 1 Jul 2023 19:28:20 -0500 Subject: [PATCH] Fixes flaky language holder failure (#76477) ## About The Pull Request ![image](https://github.com/tgstation/tgstation/assets/51863163/d4f2fd51-6884-4623-b208-f670b6cdb75d) ## Why It's Good For The Game Flaky failure ## Changelog :cl: Melbert fix: Fixes a runtime from people with aphasia trauma getting deleted /:cl: --- code/datums/brain_damage/severe.dm | 6 ++++-- code/game/atoms_movable.dm | 4 ++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/code/datums/brain_damage/severe.dm b/code/datums/brain_damage/severe.dm index ffaf8f71857..84a49b8eeb2 100644 --- a/code/datums/brain_damage/severe.dm +++ b/code/datums/brain_damage/severe.dm @@ -33,8 +33,10 @@ ..() /datum/brain_trauma/severe/aphasia/on_lose() - owner.remove_blocked_language(subtypesof(/datum/language/), LANGUAGE_APHASIA) - owner.remove_language(/datum/language/aphasia, TRUE, TRUE, LANGUAGE_APHASIA) + if(!QDELING(owner)) + owner.remove_blocked_language(subtypesof(/datum/language/), LANGUAGE_APHASIA) + owner.remove_language(/datum/language/aphasia, TRUE, TRUE, LANGUAGE_APHASIA) + ..() /datum/brain_trauma/severe/blindness diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index 4a6f11af4d4..f12b1230da8 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -1447,6 +1447,10 @@ /// Gets or creates the relevant language holder. For mindless atoms, gets the local one. For atom with mind, gets the mind one. /atom/movable/proc/get_language_holder(get_minds = TRUE) + if(QDELING(src)) + CRASH("get_language_holder() called on a QDELing atom, \ + this will try to re-instantiate the language holder that's about to be deleted, which is bad.") + if(!language_holder) language_holder = new initial_language_holder(src) return language_holder