Skip to content

Commit c934cad

Browse files
authored
Close all streams
Might help com surrogate being grabby?
1 parent fcbb78e commit c934cad

File tree

2 files changed

+14
-5
lines changed

2 files changed

+14
-5
lines changed

PetzThumbnailHandler.cs

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,10 @@ protected override Bitmap GetThumbnailImage(uint width)
5656
return bitmap;
5757
}
5858
}
59+
finally
60+
{
61+
SelectedItemStream.Close();
62+
}
5963
}
6064
}
6165

@@ -111,13 +115,16 @@ public static Bitmap GetBreedThumbnailImage(Stream SelectedItemStream)
111115
{
112116
byte[] data = new byte[SelectedItemStream.Length];
113117
SelectedItemStream.Read(data, 0, data.Length);
118+
SelectedItemStream.Close();
114119
var asm = AsmResolver.PE.PEImage.FromBytes(data);
115120
var breedStringTable = asm.Resources.GetDirectory(ResourceType.String)
116121
.GetDirectory(63).GetData(1033).Contents.WriteIntoArray();
117-
var binaryReader = new BinaryReader (new MemoryStream(breedStringTable.SkipWhile(x => x == 0x0).ToArray()), Encoding.Unicode);
118-
var nameLength = binaryReader.ReadInt16();
119-
var name = new string(binaryReader.ReadChars(nameLength)).ToUpper();
120-
binaryReader.Close();
122+
string name;
123+
using (var binaryReader = new BinaryReader(new MemoryStream(breedStringTable.SkipWhile(x => x == 0x0).ToArray()), Encoding.Unicode))
124+
{
125+
var nameLength = binaryReader.ReadInt16();
126+
name = new string(binaryReader.ReadChars(nameLength)).ToUpper();
127+
}
121128
var bmpResourceDir = (IResourceDirectory)asm.Resources.Entries.Where(x => x.Name == "BMP").First();
122129
bmpResourceDir = (IResourceDirectory)bmpResourceDir.Entries.Where(x => x.Name == name).First();
123130
var bmpResource = (IResourceData)bmpResourceDir.Entries.First();
@@ -148,6 +155,7 @@ protected override Bitmap GetThumbnailImage(uint width)
148155
{
149156
byte[] data = new byte[SelectedItemStream.Length];
150157
SelectedItemStream.Read(data, 0, data.Length);
158+
SelectedItemStream.Close();
151159
return Helper.GetThumbnail(data, "toy");
152160
}
153161

@@ -161,6 +169,7 @@ protected override Bitmap GetThumbnailImage(uint width)
161169
{
162170
byte[] data = new byte[SelectedItemStream.Length];
163171
SelectedItemStream.Read(data, 0, data.Length);
172+
SelectedItemStream.Close();
164173
return Helper.GetThumbnail(data, "clo");
165174
}
166175
}

installer.iss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
33

44
#define MyAppName "Petz Thumbnails Extension"
5-
#define MyAppVersion "5.1"
5+
#define MyAppVersion "5.2"
66
#define MyAppPublisher "-"
77
#define MyAppURL "-"
88
#define MyAppExeName "PetzThumbnailsInstaller.exe"

0 commit comments

Comments
 (0)