From 4cf23d086af087e7fc0832521a7e89acd5b76131 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 26 Apr 2017 10:11:22 -0500 Subject: [PATCH] Fixed nulls in the active_alternate_appearances list (#568) --- code/datums/hud.dm.rej | 10 ++++++++++ code/game/alternate_appearance.dm.rej | 19 +++++++++++++++++++ code/modules/mob/mob.dm.rej | 10 ++++++++++ 3 files changed, 39 insertions(+) create mode 100644 code/datums/hud.dm.rej create mode 100644 code/game/alternate_appearance.dm.rej create mode 100644 code/modules/mob/mob.dm.rej diff --git a/code/datums/hud.dm.rej b/code/datums/hud.dm.rej new file mode 100644 index 0000000000..3696e8b8fe --- /dev/null +++ b/code/datums/hud.dm.rej @@ -0,0 +1,10 @@ +diff a/code/datums/hud.dm b/code/datums/hud.dm (rejected hunks) +@@ -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.rej b/code/game/alternate_appearance.dm.rej new file mode 100644 index 0000000000..52f96ceabd --- /dev/null +++ b/code/game/alternate_appearance.dm.rej @@ -0,0 +1,19 @@ +diff a/code/game/alternate_appearance.dm b/code/game/alternate_appearance.dm (rejected hunks) +@@ -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.rej b/code/modules/mob/mob.dm.rej new file mode 100644 index 0000000000..cff44187b0 --- /dev/null +++ b/code/modules/mob/mob.dm.rej @@ -0,0 +1,10 @@ +diff a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm (rejected hunks) +@@ -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) + ..()