From f47432fc09d7a77d493d0e19687c9df30ca837a6 Mon Sep 17 00:00:00 2001 From: morkt Date: Fri, 19 Jun 2015 15:59:06 +0400 Subject: [PATCH] (ArcFile.OpenView): dispose of the intermediate stream. --- GameRes/ArcFile.cs | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/GameRes/ArcFile.cs b/GameRes/ArcFile.cs index a5c5cd1b..fd8ae661 100644 --- a/GameRes/ArcFile.cs +++ b/GameRes/ArcFile.cs @@ -153,9 +153,17 @@ namespace GameRes /// public ArcView OpenView (Entry entry) { - var stream = OpenEntry (entry); - uint size = stream.CanSeek ? (uint)stream.Length : entry.Size; - return new ArcView (stream, entry.Name, size); + using (var stream = OpenEntry (entry)) + { + uint size; + if (stream.CanSeek) + size = (uint)stream.Length; + else if (entry is PackedEntry) + size = (entry as PackedEntry).UnpackedSize; + else + size = entry.Size; + return new ArcView (stream, entry.Name, size); + } } ///