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); + } } ///