From 8e405e8fe6ad4fa223d006feb84a0b2d7711a981 Mon Sep 17 00:00:00 2001 From: morkt Date: Thu, 25 Jun 2015 11:27:29 +0400 Subject: [PATCH] (PrefixStream): added leave_open argument to constructor. --- ArcFormats/ArcCommon.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ArcFormats/ArcCommon.cs b/ArcFormats/ArcCommon.cs index e15c743c..ae3f6129 100644 --- a/ArcFormats/ArcCommon.cs +++ b/ArcFormats/ArcCommon.cs @@ -83,11 +83,13 @@ namespace GameRes.Formats byte[] m_header; Stream m_stream; long m_position = 0; + bool m_should_dispose; - public PrefixStream (byte[] header, Stream main) + public PrefixStream (byte[] header, Stream main, bool leave_open = false) { m_header = header; m_stream = main; + m_should_dispose = !leave_open; } public override bool CanRead { get { return m_stream.CanRead; } } @@ -180,7 +182,7 @@ namespace GameRes.Formats { if (!disposed) { - if (disposing) + if (m_should_dispose && disposing) m_stream.Dispose(); disposed = true; base.Dispose (disposing);