Makes Initialize check QDELETED before calling (#24818)

* Makes Initialize check QDELETED before calling

* uhh

* Warnings
This commit is contained in:
Cyberboss
2017-03-09 18:03:15 -05:00
committed by oranges
parent 0f1b329d86
commit ffbb492a43
2 changed files with 9 additions and 1 deletions

View File

@@ -34,6 +34,9 @@ var/datum/controller/subsystem/atoms/SSatoms
for(var/I in atoms)
var/atom/A = I
if(!A.initialized) //this check is to make sure we don't call it twice on an object that was created in a previous Initialize call
if(QDELETED(A))
stack_trace("Found new qdeletion in type [A.type]!")
continue
var/start_tick = world.time
if(A.Initialize(TRUE))
LAZYADD(late_loaders, A)
@@ -47,6 +50,9 @@ var/datum/controller/subsystem/atoms/SSatoms
#endif
for(var/atom/A in world)
if(!A.initialized) //this check is to make sure we don't call it twice on an object that was created in a previous Initialize call
if(QDELETED(A))
stack_trace("Found new qdeletion in type [A.type]!")
continue
var/start_tick = world.time
if(A.Initialize(TRUE))
LAZYADD(late_loaders, A)

View File

@@ -37,6 +37,8 @@
var/do_initialize = SSatoms.initialized
if(do_initialize > INITIALIZATION_INSSATOMS)
if(QDELETED(src))
CRASH("Found new qdeletion in type [type]!")
args[1] = do_initialize == INITIALIZATION_INNEW_MAPLOAD
Initialize(arglist(args))