This commit is contained in:
Pavlos Touboulidis
2014-05-23 19:08:45 +03:00
parent db08357e36
commit 5a286ef15e
2 changed files with 25 additions and 17 deletions

View File

@@ -198,16 +198,21 @@ namespace OpenRA.Network
} }
bool disposed; bool disposed;
public void Dispose() protected void Dispose(bool disposing)
{ {
if (disposed) return; if (disposed)
return;
if (disposing)
Connection.Dispose(); Connection.Dispose();
disposed = true; disposed = true;
GC.SuppressFinalize(this);
} }
~OrderManager() { Dispose(); } public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
} }
} }

View File

@@ -17,7 +17,7 @@ using OpenRA.Widgets;
namespace OpenRA.Network namespace OpenRA.Network
{ {
class ReplayRecorderConnection : IConnection class ReplayRecorderConnection : IConnection, IDisposable
{ {
public ReplayMetadata Metadata; public ReplayMetadata Metadata;
@@ -98,27 +98,30 @@ namespace OpenRA.Network
} }
bool disposed; bool disposed;
protected void Dispose(bool disposing)
public void Dispose()
{ {
if (disposed) if (disposed)
return; return;
if (disposing)
{
if (Metadata != null) if (Metadata != null)
{ {
if (Metadata.GameInfo != null) if (Metadata.GameInfo != null)
Metadata.GameInfo.EndTimeUtc = DateTime.UtcNow; Metadata.GameInfo.EndTimeUtc = DateTime.UtcNow;
Metadata.Write(writer); Metadata.Write(writer);
} }
writer.Close(); writer.Close();
inner.Dispose(); inner.Dispose();
}
disposed = true; disposed = true;
} }
~ReplayRecorderConnection() public void Dispose()
{ {
Dispose(); Dispose(true);
GC.SuppressFinalize(this);
} }
} }
} }