diff --git a/code/datums/datum.dm b/code/datums/datum.dm index 26512578846..60e7cc76586 100644 --- a/code/datums/datum.dm +++ b/code/datums/datum.dm @@ -59,7 +59,7 @@ // Return the appropriate QDEL_HINT; in most cases this is QDEL_HINT_QUEUE. /datum/proc/Destroy(force=FALSE) SHOULD_CALL_PARENT(TRUE) - //SHOULD_NOT_SLEEP(TRUE) //Soon my friend, soon... + SHOULD_NOT_SLEEP(TRUE) tag = null datum_flags &= ~DF_USE_TAG //In case something tries to REF us diff --git a/code/modules/modular_computers/computers/modular_computer/core.dm b/code/modules/modular_computers/computers/modular_computer/core.dm index 8b7b698a7e3..9a523e4dbeb 100644 --- a/code/modules/modular_computers/computers/modular_computer/core.dm +++ b/code/modules/modular_computers/computers/modular_computer/core.dm @@ -233,8 +233,8 @@ else return FALSE var/mob/user = usr - if(user && istype(user) && !forced) - ui_interact(user) // Re-open the UI on this computer. It should show the main screen now. + if(user && istype(user) && !forced && !QDELETED(src)) + INVOKE_ASYNC(src, TYPE_PROC_REF(/datum, ui_interact), user) // Re-open the UI on this computer. It should show the main screen now. update_icon() /**