From 7a6c5d8054a9e4fc10759cd031fac2d686ccacd0 Mon Sep 17 00:00:00 2001 From: morkt Date: Fri, 1 Aug 2014 20:11:32 +0400 Subject: [PATCH] (MappedViewExtension.GetPointer): use supplied offset argument. --- GameRes/ArcView.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/GameRes/ArcView.cs b/GameRes/ArcView.cs index 26f4dfb7..814236f1 100644 --- a/GameRes/ArcView.cs +++ b/GameRes/ArcView.cs @@ -99,7 +99,7 @@ namespace GameRes unsafe public static byte* GetPointer (this MemoryMappedViewAccessor view, long offset) { - var num = view.PointerOffset % info.dwAllocationGranularity; + var num = offset % info.dwAllocationGranularity; byte* ptr = null; view.SafeMemoryMappedViewHandle.AcquirePointer (ref ptr); ptr += num; @@ -243,8 +243,9 @@ namespace GameRes size = (uint)ArcView.PageSize; if (size > m_arc.MaxOffset-offset) size = (uint)(m_arc.MaxOffset-offset); - m_view.Dispose(); + var old_view = m_view; m_view = m_arc.CreateViewAccessor (offset, size); + old_view.Dispose(); m_offset = offset; m_size = size; }