From 990176d5040bf77abc1b1dbf109101a762be0846 Mon Sep 17 00:00:00 2001 From: Ian Turk Date: Tue, 25 Apr 2017 18:25:10 -0600 Subject: [PATCH] Fixed nulls in the active_alternate_appearances list Added checks for nulls in the active_alternate_appearances list --- code/datums/hud.dm | 2 +- code/game/alternate_appearance.dm | 11 +++++------ code/modules/mob/mob.dm | 2 ++ 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/code/datums/hud.dm b/code/datums/hud.dm index d1cbb90c27a..f9444898ceb 100644 --- a/code/datums/hud.dm +++ b/code/datums/hud.dm @@ -80,7 +80,7 @@ GLOBAL_LIST_INIT(huds, list( gang_huds += G.ganghud for(var/datum/atom_hud/hud in (GLOB.huds|gang_huds|GLOB.active_alternate_appearances)) - if(hud.hudusers[src]) + if(hud && hud.hudusers[src]) hud.add_hud_to(src) /mob/dead/new_player/reload_huds() diff --git a/code/game/alternate_appearance.dm b/code/game/alternate_appearance.dm index ac23d61e7fa..2768c793db8 100644 --- a/code/game/alternate_appearance.dm +++ b/code/game/alternate_appearance.dm @@ -29,12 +29,11 @@ GLOBAL_LIST_EMPTY(active_alternate_appearances) appearance_key = key /datum/atom_hud/alternate_appearance/Destroy() - if(!QDELETED(src)) - for(var/v in hudusers) - remove_hud_from(v) - for(var/v in hudatoms) - remove_from_hud(v) - GLOB.active_alternate_appearances -= src + for(var/v in hudusers) + remove_hud_from(v) + for(var/v in hudatoms) + remove_from_hud(v) + GLOB.active_alternate_appearances -= src return ..() /datum/atom_hud/alternate_appearance/proc/onNewMob(mob/M) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 023c1047178..95d3abfa288 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -29,6 +29,8 @@ prepare_huds() can_ride_typecache = typecacheof(can_ride_typecache) for(var/v in GLOB.active_alternate_appearances) + if(!v) + continue var/datum/atom_hud/alternate_appearance/AA = v AA.onNewMob(src) ..()