diff --git a/code/controllers/Processes/garbage.dm b/code/controllers/Processes/garbage.dm index 0203875e437..8106320fbf2 100644 --- a/code/controllers/Processes/garbage.dm +++ b/code/controllers/Processes/garbage.dm @@ -136,7 +136,7 @@ world/loop_checks = 0 return ..()+"([garbage_collector.destroyed.len]/[garbage_collector.dels]/[garbage_collector.hard_dels])" // Tests if an atom has been deleted. -/proc/deleted(atom/A) +/proc/deleted(atom/A) return !A || !isnull(A.gcDestroyed) // Should be treated as a replacement for the 'del' keyword. @@ -187,6 +187,7 @@ world/loop_checks = 0 // This should be overridden to remove all references pointing to the object being destroyed. // Return true if the the GC controller should allow the object to continue existing. (Useful if pooling objects.) /datum/proc/Destroy() + nanomanager.close_uis(src) tag = null return diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index 7f7e5566573..800659307e8 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -17,7 +17,6 @@ /obj/Destroy() processing_objects -= src - nanomanager.close_uis(src) return ..() /obj/Topic(href, href_list, var/datum/topic_state/state = default_state)