mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-29 06:57:42 +01:00
GC fixes
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
var/list/gc_hard_del_types = new
|
||||
var/datum/garbage_collector/garbageCollector
|
||||
|
||||
/client/verb/gc_dump_hdl()
|
||||
/client/proc/gc_dump_hdl()
|
||||
set name = "(GC) Hard Del List"
|
||||
set desc = "List types that are hard del()'d by the GC."
|
||||
set category = "Debug"
|
||||
@@ -60,6 +60,8 @@ var/datum/garbage_collector/garbageCollector
|
||||
#endif
|
||||
|
||||
AM.hard_deleted = 1
|
||||
if(!AM.type in gc_hard_del_types)
|
||||
gc_hard_del_types += AM.type
|
||||
del AM
|
||||
|
||||
hard_dels++
|
||||
@@ -93,6 +95,8 @@ var/datum/garbage_collector/garbageCollector
|
||||
|
||||
if(!istype(AM))
|
||||
WARNING("qdel() passed object of type [AM.type]. qdel() can only handle /atom/movable types.")
|
||||
if(!AM.type in gc_hard_del_types)
|
||||
gc_hard_del_types += AM.type
|
||||
del(AM)
|
||||
garbageCollector.hard_dels++
|
||||
garbageCollector.dels_count++
|
||||
|
||||
@@ -19,7 +19,7 @@ datum/controller/lighting/New()
|
||||
if(lighting_controller != src)
|
||||
if(istype(lighting_controller,/datum/controller/lighting))
|
||||
Recover() //if we are replacing an existing lighting_controller (due to a crash) we attempt to preserve as much as we can
|
||||
del(lighting_controller)
|
||||
qdel(lighting_controller)
|
||||
lighting_controller = src
|
||||
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@ datum/controller/game_controller/New()
|
||||
if(master_controller != src)
|
||||
if(istype(master_controller))
|
||||
Recover()
|
||||
del(master_controller)
|
||||
qdel(master_controller)
|
||||
master_controller = src
|
||||
|
||||
if(!job_master)
|
||||
|
||||
@@ -17,7 +17,7 @@ datum/controller/vote
|
||||
New()
|
||||
if(vote != src)
|
||||
if(istype(vote))
|
||||
del(vote)
|
||||
qdel(vote)
|
||||
vote = src
|
||||
|
||||
proc/process() //called by master_controller
|
||||
|
||||
Reference in New Issue
Block a user