Dispose package on exception.
This commit is contained in:
@@ -57,17 +57,21 @@ namespace OpenRA
|
|||||||
var mapGrid = modData.Manifest.Get<MapGrid>();
|
var mapGrid = modData.Manifest.Get<MapGrid>();
|
||||||
foreach (var path in mapPaths)
|
foreach (var path in mapPaths)
|
||||||
{
|
{
|
||||||
|
IReadOnlyPackage package;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
using (new Support.PerfTimer(path.Key))
|
using (new Support.PerfTimer(path.Key))
|
||||||
{
|
{
|
||||||
var package = modData.ModFiles.OpenPackage(path.Key);
|
package = modData.ModFiles.OpenPackage(path.Key);
|
||||||
var uid = Map.ComputeUID(package);
|
var uid = Map.ComputeUID(package);
|
||||||
previews[uid].UpdateFromMap(package, path.Value, modData.Manifest.MapCompatibility, mapGrid.Type);
|
previews[uid].UpdateFromMap(package, path.Value, modData.Manifest.MapCompatibility, mapGrid.Type);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
if (package != null)
|
||||||
|
package.Dispose();
|
||||||
|
|
||||||
Console.WriteLine("Failed to load map: {0}", path);
|
Console.WriteLine("Failed to load map: {0}", path);
|
||||||
Console.WriteLine("Details: {0}", e);
|
Console.WriteLine("Details: {0}", e);
|
||||||
Log.Write("debug", "Failed to load map: {0}", path);
|
Log.Write("debug", "Failed to load map: {0}", path);
|
||||||
|
|||||||
Reference in New Issue
Block a user