mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-13 03:33:21 +00:00
Merge pull request #4896 from VOREStation/pol-qdels
Fix several Destoy()s
This commit is contained in:
@@ -169,7 +169,12 @@ SUBSYSTEM_DEF(garbage)
|
|||||||
#endif
|
#endif
|
||||||
var/type = D.type
|
var/type = D.type
|
||||||
var/datum/qdel_item/I = items[type]
|
var/datum/qdel_item/I = items[type]
|
||||||
testing("GC: -- \ref[D] | [type] was unable to be GC'd --")
|
var/extrainfo = "--"
|
||||||
|
if(istype(D,/image))
|
||||||
|
var/image/img = D
|
||||||
|
var/icon/ico = img.icon
|
||||||
|
extrainfo = "L:[img.loc] -- I:[ico] -- IS:[img.icon_state] --"
|
||||||
|
testing("GC: -- \ref[D] | [type] was unable to be GC'd [extrainfo]")
|
||||||
I.failures++
|
I.failures++
|
||||||
if (GC_QUEUE_HARDDELETE)
|
if (GC_QUEUE_HARDDELETE)
|
||||||
HardDelete(D)
|
HardDelete(D)
|
||||||
|
|||||||
@@ -40,6 +40,10 @@ var/global/list/all_exonet_connections = list()
|
|||||||
src.holder = holder
|
src.holder = holder
|
||||||
..()
|
..()
|
||||||
|
|
||||||
|
/datum/exonet_protocol/Destroy()
|
||||||
|
remove_address()
|
||||||
|
holder = null
|
||||||
|
return ..()
|
||||||
|
|
||||||
// Proc: make_address()
|
// Proc: make_address()
|
||||||
// Parameters: 1 (string - used to make into a hash that will be part of the new address)
|
// Parameters: 1 (string - used to make into a hash that will be part of the new address)
|
||||||
|
|||||||
@@ -1,34 +1,46 @@
|
|||||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31
|
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31
|
||||||
|
|
||||||
/datum/data
|
/datum/data
|
||||||
var/name = "data"
|
var/name = "data"
|
||||||
var/size = 1.0
|
var/size = 1.0
|
||||||
|
|
||||||
|
|
||||||
/datum/data/function
|
/datum/data/function
|
||||||
name = "function"
|
name = "function"
|
||||||
size = 2.0
|
size = 2.0
|
||||||
|
|
||||||
|
|
||||||
/datum/data/function/data_control
|
/datum/data/function/data_control
|
||||||
name = "data control"
|
name = "data control"
|
||||||
|
|
||||||
|
|
||||||
/datum/data/function/id_changer
|
/datum/data/function/id_changer
|
||||||
name = "id changer"
|
name = "id changer"
|
||||||
|
|
||||||
|
|
||||||
/datum/data/record
|
/datum/data/record
|
||||||
name = "record"
|
name = "record"
|
||||||
size = 5.0
|
size = 5.0
|
||||||
var/list/fields = list( )
|
var/list/fields = list( )
|
||||||
|
|
||||||
|
// Mostly used for data_core records, but unfortuantely used some other places too. But mostly here, so lets make a good effort.
|
||||||
/datum/data/text
|
// TODO - Some machines/computers might be holding references to us. Lets look into that, but at least for now lets make sure that the manifest is cleaned up.
|
||||||
name = "text"
|
/datum/data/record/Destroy(var/force)
|
||||||
var/data = null
|
if(data_core.locked.Find(src))
|
||||||
|
if(!force)
|
||||||
|
crash_with("Someone tried to qdel a record that was in data_core.locked [log_info_line(src)]")
|
||||||
|
return QDEL_HINT_LETMELIVE
|
||||||
/datum/debug
|
data_core.locked -= src
|
||||||
var/list/debuglist
|
data_core.medical -= src
|
||||||
|
data_core.general -= src
|
||||||
|
data_core.security -= src
|
||||||
|
. = ..()
|
||||||
|
|
||||||
|
/datum/data/text
|
||||||
|
name = "text"
|
||||||
|
var/data = null
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/datum/debug
|
||||||
|
var/list/debuglist
|
||||||
|
|||||||
@@ -22,8 +22,10 @@
|
|||||||
/datum/progressbar/Destroy()
|
/datum/progressbar/Destroy()
|
||||||
if (client)
|
if (client)
|
||||||
client.images -= bar
|
client.images -= bar
|
||||||
qdel(bar)
|
qdel_null(bar)
|
||||||
. = ..()
|
user = null
|
||||||
|
client = null
|
||||||
|
return ..()
|
||||||
|
|
||||||
/datum/progressbar/proc/update(progress)
|
/datum/progressbar/proc/update(progress)
|
||||||
//world << "Update [progress] - [goal] - [(progress / goal)] - [((progress / goal) * 100)] - [round(((progress / goal) * 100), 5)]"
|
//world << "Update [progress] - [goal] - [(progress / goal)] - [((progress / goal) * 100)] - [round(((progress / goal) * 100), 5)]"
|
||||||
|
|||||||
@@ -287,17 +287,20 @@ var/global/list/obj/item/device/communicator/all_communicators = list()
|
|||||||
to_chat(voice, "<span class='danger'>\icon[src] Connection timed out with remote host.</span>")
|
to_chat(voice, "<span class='danger'>\icon[src] Connection timed out with remote host.</span>")
|
||||||
qdel(voice)
|
qdel(voice)
|
||||||
close_connection(reason = "Connection timed out")
|
close_connection(reason = "Connection timed out")
|
||||||
|
|
||||||
|
//Clean up all references we might have to others
|
||||||
communicating.Cut()
|
communicating.Cut()
|
||||||
voice_requests.Cut()
|
voice_requests.Cut()
|
||||||
voice_invites.Cut()
|
voice_invites.Cut()
|
||||||
|
node = null
|
||||||
|
|
||||||
|
//Clean up references that might point at us
|
||||||
all_communicators -= src
|
all_communicators -= src
|
||||||
processing_objects -= src
|
processing_objects -= src
|
||||||
listening_objects.Remove(src)
|
listening_objects.Remove(src)
|
||||||
qdel(camera)
|
qdel_null(camera)
|
||||||
camera = null
|
qdel_null(exonet)
|
||||||
if(exonet)
|
|
||||||
exonet.remove_address()
|
|
||||||
exonet = null
|
|
||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
// Proc: update_icon()
|
// Proc: update_icon()
|
||||||
|
|||||||
@@ -52,7 +52,9 @@
|
|||||||
/obj/item/weapon/implant/Destroy()
|
/obj/item/weapon/implant/Destroy()
|
||||||
if(part)
|
if(part)
|
||||||
part.implants.Remove(src)
|
part.implants.Remove(src)
|
||||||
|
listening_objects.Remove(src)
|
||||||
part = null
|
part = null
|
||||||
|
imp_in = null
|
||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/obj/item/weapon/implant/attackby(obj/item/I, mob/user)
|
/obj/item/weapon/implant/attackby(obj/item/I, mob/user)
|
||||||
@@ -82,7 +84,6 @@
|
|||||||
|
|
||||||
/obj/item/weapon/implant/tracking/implanted(var/mob/source)
|
/obj/item/weapon/implant/tracking/implanted(var/mob/source)
|
||||||
processing_objects.Add(src)
|
processing_objects.Add(src)
|
||||||
listening_objects |= src
|
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
/obj/item/weapon/implant/tracking/Destroy()
|
/obj/item/weapon/implant/tracking/Destroy()
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
var/invis_toggle = FALSE
|
var/invis_toggle = FALSE
|
||||||
var/list/sub_planes
|
var/list/sub_planes
|
||||||
|
|
||||||
|
/obj/screen/plane_master/New()
|
||||||
|
..(null) //Never be in anything ever.
|
||||||
|
|
||||||
/obj/screen/plane_master/proc/set_desired_alpha(var/new_alpha)
|
/obj/screen/plane_master/proc/set_desired_alpha(var/new_alpha)
|
||||||
if(new_alpha != alpha && new_alpha > 0 && new_alpha <= 255)
|
if(new_alpha != alpha && new_alpha > 0 && new_alpha <= 255)
|
||||||
desired_alpha = new_alpha
|
desired_alpha = new_alpha
|
||||||
|
|||||||
@@ -5,6 +5,10 @@
|
|||||||
/datum/nano_module/New(var/host)
|
/datum/nano_module/New(var/host)
|
||||||
src.host = host
|
src.host = host
|
||||||
|
|
||||||
|
/datum/nano_module/Destroy()
|
||||||
|
host = null
|
||||||
|
return ..()
|
||||||
|
|
||||||
/datum/nano_module/nano_host()
|
/datum/nano_module/nano_host()
|
||||||
return host ? host : src
|
return host ? host : src
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user