diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-05-28 16:01:12 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-05-28 16:01:12 -0400 |
| commit | ff61b0b11ab0dc9f33645b797c3d09dec8687439 (patch) | |
| tree | 99b6907c68fbcc2227bd71d9dba000aa2aa69a6e /MediaBrowser.Controller/Drawing/ImageManager.cs | |
| parent | 9274f9f35f1269c147c6815bb85e196e3128374a (diff) | |
better error handling with image enhancers
Diffstat (limited to 'MediaBrowser.Controller/Drawing/ImageManager.cs')
| -rw-r--r-- | MediaBrowser.Controller/Drawing/ImageManager.cs | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/MediaBrowser.Controller/Drawing/ImageManager.cs b/MediaBrowser.Controller/Drawing/ImageManager.cs index f891d5a18..f2d6657d5 100644 --- a/MediaBrowser.Controller/Drawing/ImageManager.cs +++ b/MediaBrowser.Controller/Drawing/ImageManager.cs @@ -531,8 +531,21 @@ namespace MediaBrowser.Controller.Drawing throw new ArgumentNullException("item"); } - var supportedEnhancers = _kernel.ImageEnhancers.Where(i => i.Supports(item, imageType)).ToList(); + var supportedEnhancers = _kernel.ImageEnhancers.Where(i => + { + try + { + return i.Supports(item, imageType); + } + catch (Exception ex) + { + _logger.ErrorException("Error in image enhancer: {0}", ex, i.GetType().Name); + + return false; + } + }).ToList(); + // No enhancement - don't cache if (supportedEnhancers.Count == 0) { @@ -609,7 +622,20 @@ namespace MediaBrowser.Controller.Drawing var dateModified = GetImageDateModified(item, imagePath); - var supportedEnhancers = _kernel.ImageEnhancers.Where(i => i.Supports(item, imageType)); + var supportedEnhancers = _kernel.ImageEnhancers.Where(i => + { + try + { + return i.Supports(item, imageType); + } + catch (Exception ex) + { + _logger.ErrorException("Error in image enhancer: {0}", ex, i.GetType().Name); + + return false; + } + + }).ToList(); return GetImageCacheTag(imagePath, dateModified, supportedEnhancers, item, imageType); } |
