From e17b32011b67d10918a15de56bd0247fb755ced3 Mon Sep 17 00:00:00 2001 From: lidgren Date: Mon, 24 Oct 2011 14:56:29 +0000 Subject: [PATCH] Changed DestoreMessage() to ignore a missing Message object in RELEASE; added some debug messages to the DEBUG build of the same --- Lidgren.Network/NetReliableSenderChannel.cs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/Lidgren.Network/NetReliableSenderChannel.cs b/Lidgren.Network/NetReliableSenderChannel.cs index ce24fc4..0ddd676 100644 --- a/Lidgren.Network/NetReliableSenderChannel.cs +++ b/Lidgren.Network/NetReliableSenderChannel.cs @@ -131,12 +131,20 @@ namespace Lidgren.Network private void DestoreMessage(int storeIndex) { NetOutgoingMessage storedMessage = m_storedMessages[storeIndex].Message; - NetException.Assert(storedMessage != null); - +#if DEBUG + if (storedMessage == null) + throw new NetException("m_storedMessages[" + storeIndex + "].Message is null; sent " + m_storedMessages[storeIndex].NumSent + " times, last time " + (NetTime.Now - m_storedMessages[storeIndex].LastSent) + " seconds ago"); +#else + if (storedMessage != null) + { +#endif Interlocked.Decrement(ref storedMessage.m_recyclingCount); if (storedMessage.m_recyclingCount <= 0) m_connection.m_peer.Recycle(storedMessage); +#if !DEBUG + } +#endif m_storedMessages[storeIndex] = new NetStoredReliableMessage(); }