diff --git a/ClassicalSharp/Network/NetworkProcessor.cs b/ClassicalSharp/Network/NetworkProcessor.cs index f2619dc08..5c3b1a3c9 100644 --- a/ClassicalSharp/Network/NetworkProcessor.cs +++ b/ClassicalSharp/Network/NetworkProcessor.cs @@ -606,6 +606,7 @@ namespace ClassicalSharp { TexturePackExtractor extractor = new TexturePackExtractor(); extractor.Extract( game.defaultTexPack, game ); } else { + game.Animations.Dispose(); game.AsyncDownloader.DownloadImage( url, true, "terrain" ); } Utils.LogDebug( "Image url: " + url ); diff --git a/ClassicalSharp/TexturePack/Animations.cs b/ClassicalSharp/TexturePack/Animations.cs index ee61e84c7..2a2623062 100644 --- a/ClassicalSharp/TexturePack/Animations.cs +++ b/ClassicalSharp/TexturePack/Animations.cs @@ -29,7 +29,9 @@ namespace ClassicalSharp.TexturePack { if( bmp != null ) { fastBmp.Dispose(); bmp.Dispose(); + bmp = null; } + animations.Clear(); } public void Tick( double delta ) { diff --git a/ClassicalSharp/TexturePack/TexturePackExtractor.cs b/ClassicalSharp/TexturePack/TexturePackExtractor.cs index 707f9182a..700348522 100644 --- a/ClassicalSharp/TexturePack/TexturePackExtractor.cs +++ b/ClassicalSharp/TexturePack/TexturePackExtractor.cs @@ -11,6 +11,7 @@ namespace ClassicalSharp.TexturePack { Game game; public void Extract( string path, Game game ) { this.game = game; + game.Animations.Dispose(); using( FileStream fs = new FileStream( path, FileMode.Open, FileAccess.Read, FileShare.Read ) ) { ZipReader reader = new ZipReader(); reader.ShouldProcessZipEntry = ShouldProcessZipEntry;