From 3788033dcd99c8e8616db309a4ddd232a9dc801e Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Fri, 6 Mar 2015 01:42:59 -0500 Subject: [PATCH] don't allow image processing after disposing --- .../Drawing/ImageProcessor.cs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/MediaBrowser.Server.Implementations/Drawing/ImageProcessor.cs b/MediaBrowser.Server.Implementations/Drawing/ImageProcessor.cs index 180faa6bbe..64c812e1bd 100644 --- a/MediaBrowser.Server.Implementations/Drawing/ImageProcessor.cs +++ b/MediaBrowser.Server.Implementations/Drawing/ImageProcessor.cs @@ -202,6 +202,8 @@ namespace MediaBrowser.Server.Implementations.Drawing try { + CheckDisposed(); + var newWidth = Convert.ToInt32(newSize.Width); var newHeight = Convert.ToInt32(newSize.Height); @@ -448,6 +450,7 @@ namespace MediaBrowser.Server.Implementations.Drawing /// ImageSize. private ImageSize GetImageSizeInternal(string path) { + CheckDisposed(); var size = ImageHeader.GetDimensions(path, _logger, _fileSystem); StartSaveImageSizeTimer(); @@ -793,10 +796,20 @@ namespace MediaBrowser.Server.Implementations.Drawing }); } + private bool _disposed; public void Dispose() { + _disposed = true; Wand.CloseEnvironment(); _saveImageSizeTimer.Dispose(); } + + private void CheckDisposed() + { + if (_disposed) + { + throw new ObjectDisposedException(GetType().Name); + } + } } }