diff --git a/code/datums/chatmessage.dm b/code/datums/chatmessage.dm index 525305e1b5d..5d0b26a1f6a 100644 --- a/code/datums/chatmessage.dm +++ b/code/datums/chatmessage.dm @@ -77,12 +77,14 @@ INVOKE_ASYNC(src, PROC_REF(generate_image), text, target, owner, language, extra_classes, lifespan) /datum/chatmessage/Destroy() - if(REALTIMEOFDAY < animate_start + animate_lifespan) - stack_trace("Del'd before we finished fading, with [(animate_start + animate_lifespan) - REALTIMEOFDAY] time left") - if (owned_by) + if (!QDELING(owned_by)) + if(REALTIMEOFDAY < animate_start + animate_lifespan) + stack_trace("Del'd before we finished fading, with [(animate_start + animate_lifespan) - REALTIMEOFDAY] time left") + if (owned_by.seen_messages) LAZYREMOVEASSOC(owned_by.seen_messages, message_loc, src) owned_by.images.Remove(message) + owned_by = null message_loc = null message = null @@ -360,7 +362,7 @@ #undef CHAT_LAYER_MAX_Z #undef CHAT_LAYER_Z_STEP #undef CHAT_MESSAGE_APPROX_LHEIGHT -#undef CHAT_MESSAGE_GRACE_PERIOD +#undef CHAT_MESSAGE_GRACE_PERIOD #undef CHAT_MESSAGE_EOL_FADE #undef CHAT_MESSAGE_EXP_DECAY #undef CHAT_MESSAGE_HEIGHT_DECAY