From 41e127d1d2f82ea879b11a35b92dfb537554193d Mon Sep 17 00:00:00 2001 From: crobibero Date: Wed, 2 Dec 2020 07:42:25 -0700 Subject: [PATCH 1/3] Fix null reference when getting filters of an empty library --- Jellyfin.Api/Controllers/FilterController.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Jellyfin.Api/Controllers/FilterController.cs b/Jellyfin.Api/Controllers/FilterController.cs index 31cb9e2736..0e1af66dcb 100644 --- a/Jellyfin.Api/Controllers/FilterController.cs +++ b/Jellyfin.Api/Controllers/FilterController.cs @@ -92,7 +92,12 @@ namespace Jellyfin.Api.Controllers } }; - var itemList = ((Folder)item!).GetItemList(query); + var itemList = ((Folder?)item)?.GetItemList(query); + if (itemList == null) + { + return new QueryFiltersLegacy(); + } + return new QueryFiltersLegacy { Years = itemList.Select(i => i.ProductionYear ?? -1) From 08be7f094a7c001bebb7d9c589b5ce3f1fd2cabe Mon Sep 17 00:00:00 2001 From: crobibero Date: Wed, 2 Dec 2020 07:55:34 -0700 Subject: [PATCH 2/3] Cleaner type checking --- Jellyfin.Api/Controllers/FilterController.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Jellyfin.Api/Controllers/FilterController.cs b/Jellyfin.Api/Controllers/FilterController.cs index 0e1af66dcb..f55f4f5f0d 100644 --- a/Jellyfin.Api/Controllers/FilterController.cs +++ b/Jellyfin.Api/Controllers/FilterController.cs @@ -92,12 +92,12 @@ namespace Jellyfin.Api.Controllers } }; - var itemList = ((Folder?)item)?.GetItemList(query); - if (itemList == null) + if (!(item is Folder folder)) { return new QueryFiltersLegacy(); } + var itemList = folder.GetItemList(query); return new QueryFiltersLegacy { Years = itemList.Select(i => i.ProductionYear ?? -1) From 828504e9259a5b08ac9a53e03085c61e2271adc7 Mon Sep 17 00:00:00 2001 From: crobibero Date: Wed, 2 Dec 2020 08:04:08 -0700 Subject: [PATCH 3/3] The future is now --- Jellyfin.Api/Controllers/FilterController.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jellyfin.Api/Controllers/FilterController.cs b/Jellyfin.Api/Controllers/FilterController.cs index f55f4f5f0d..95c5df9205 100644 --- a/Jellyfin.Api/Controllers/FilterController.cs +++ b/Jellyfin.Api/Controllers/FilterController.cs @@ -92,7 +92,7 @@ namespace Jellyfin.Api.Controllers } }; - if (!(item is Folder folder)) + if (item is not Folder folder) { return new QueryFiltersLegacy(); }