From 2c4dda599d0e1d38dd49f4e286ca4a86d281b0ad Mon Sep 17 00:00:00 2001 From: Kurt Date: Fri, 21 Aug 2015 21:24:50 -0700 Subject: [PATCH] Fix MemoryStream disposing BinaryWriters automatically dispose the MemoryStream it is using when the BinaryWriter is disposed of; the fix is to Flush instead of Dispose when finished (and let the GC handle disposing when it is appropriate to do so). --- pk3DS/3DS/BCLIM.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pk3DS/3DS/BCLIM.cs b/pk3DS/3DS/BCLIM.cs index e1a2cab..e31c469 100644 --- a/pk3DS/3DS/BCLIM.cs +++ b/pk3DS/3DS/BCLIM.cs @@ -438,8 +438,9 @@ internal static int write16BitColorPalette(Bitmap img, ref MemoryStream ms) } internal static void writeGeneric(int format, Bitmap img, ref MemoryStream ms, bool rectangle = true) { - using (BinaryWriter bz = new BinaryWriter(ms)) - bz.Write(getPixelData(img, format, rectangle)); + BinaryWriter bz = new BinaryWriter(ms); + bz.Write(getPixelData(img, format, rectangle)); + bz.Flush(); } internal static byte[] getPixelData(Bitmap img, int format, bool rectangle = true)