aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api/UserLibrary/GameGenresService.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Api/UserLibrary/GameGenresService.cs')
-rw-r--r--MediaBrowser.Api/UserLibrary/GameGenresService.cs20
1 files changed, 15 insertions, 5 deletions
diff --git a/MediaBrowser.Api/UserLibrary/GameGenresService.cs b/MediaBrowser.Api/UserLibrary/GameGenresService.cs
index f9d0f0d0f..a1ad14a4d 100644
--- a/MediaBrowser.Api/UserLibrary/GameGenresService.cs
+++ b/MediaBrowser.Api/UserLibrary/GameGenresService.cs
@@ -99,14 +99,24 @@ namespace MediaBrowser.Api.UserLibrary
/// <param name="request">The request.</param>
/// <param name="items">The items.</param>
/// <returns>IEnumerable{Tuple{System.StringFunc{System.Int32}}}.</returns>
- protected override IEnumerable<GameGenre> GetAllItems(GetItemsByName request, IEnumerable<BaseItem> items)
+ protected override IEnumerable<BaseItem> GetAllItems(GetItemsByName request, IEnumerable<BaseItem> items)
{
- var itemsList = items.Where(i => i.Genres != null).ToList();
-
- return itemsList
+ return items
.SelectMany(i => i.Genres)
.DistinctNames()
- .Select(name => LibraryManager.GetGameGenre(name));
+ .Select(name =>
+ {
+ try
+ {
+ return LibraryManager.GetGameGenre(name);
+ }
+ catch (Exception ex)
+ {
+ Logger.ErrorException("Error getting genre {0}", ex, name);
+ return null;
+ }
+ })
+ .Where(i => i != null);
}
}
}