Do not recycle filters list as it is not creating new filter instances

just reusing it.
This commit is contained in:
2017-09-11 21:17:47 +01:00
parent e0e2b103a7
commit ec292349ce
8 changed files with 25 additions and 20 deletions

View File

@@ -327,8 +327,6 @@ namespace DiscImageChef.DiscImages
extents = new Dictionary<ulong, VMwareExtent>();
ulong currentSector = 0;
FiltersList filtersList = new FiltersList();
bool matchedCyls = false, matchedHds = false, matchedSpt = false;
if(cowD)
@@ -347,7 +345,7 @@ namespace DiscImageChef.DiscImages
if(!File.Exists(curPath))
break;
Filter extentFilter = filtersList.GetFilter(curPath);
Filter extentFilter = new FiltersList().GetFilter(curPath);
Stream extentStream = extentFilter.GetDataForkStream();
if(stream.Length > Marshal.SizeOf(vmCHdr))
@@ -450,7 +448,7 @@ namespace DiscImageChef.DiscImages
VMwareExtent newExtent = new VMwareExtent();
newExtent.access = MatchExtent.Groups["access"].Value;
if(!embedded)
newExtent.filter = filtersList.GetFilter(Path.Combine(Path.GetDirectoryName(imageFilter.GetBasePath()), MatchExtent.Groups["filename"].Value));
newExtent.filter = new FiltersList().GetFilter(Path.Combine(Path.GetDirectoryName(imageFilter.GetBasePath()), MatchExtent.Groups["filename"].Value));
else
newExtent.filter = imageFilter;
uint.TryParse(MatchExtent.Groups["offset"].Value, out newExtent.offset);
@@ -672,7 +670,7 @@ namespace DiscImageChef.DiscImages
if(hasParent)
{
Filter parentFilter = filtersList.GetFilter(Path.Combine(imageFilter.GetParentFolder(), parentName));
Filter parentFilter = new FiltersList().GetFilter(Path.Combine(imageFilter.GetParentFolder(), parentName));
if(parentFilter == null)
throw new Exception(string.Format("Cannot find parent \"{0}\".", parentName));