diff options
Diffstat (limited to 'MediaBrowser.WebDashboard/Api/DashboardService.cs')
| -rw-r--r-- | MediaBrowser.WebDashboard/Api/DashboardService.cs | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/MediaBrowser.WebDashboard/Api/DashboardService.cs b/MediaBrowser.WebDashboard/Api/DashboardService.cs index 7dcc34c5b..2188722b2 100644 --- a/MediaBrowser.WebDashboard/Api/DashboardService.cs +++ b/MediaBrowser.WebDashboard/Api/DashboardService.cs @@ -242,7 +242,24 @@ namespace MediaBrowser.WebDashboard.Api pages = pages.Where(p => p.ConfigurationPageType == request.PageType.Value); } - return ResultFactory.GetOptimizedResult(Request, pages.Select(p => new ConfigurationPageInfo(p)).ToList()); + // Don't allow a failing plugin to fail them all + var configPages = pages.Select(p => + { + + try + { + return new ConfigurationPageInfo(p); + } + catch (Exception ex) + { + Logger.ErrorException("Error getting plugin information from {0}", ex, p.GetType().Name); + return null; + } + }) + .Where(i => i != null) + .ToList(); + + return ResultFactory.GetOptimizedResult(Request, configPages); } /// <summary> |
