From a01a7ff5f73fd0bc60c6972e4dedd7b86d7d6d84 Mon Sep 17 00:00:00 2001 From: Kenneth Skovhede Date: Sat, 14 Mar 2026 13:56:26 +0100 Subject: [PATCH] Fixed filtering to return a null delegate when not filtering --- Duplicati/Library/Main/Operation/RestoreHandler.cs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Duplicati/Library/Main/Operation/RestoreHandler.cs b/Duplicati/Library/Main/Operation/RestoreHandler.cs index 719c23661..569345361 100644 --- a/Duplicati/Library/Main/Operation/RestoreHandler.cs +++ b/Duplicati/Library/Main/Operation/RestoreHandler.cs @@ -110,6 +110,11 @@ namespace Duplicati.Library.Main.Operation if (time.Ticks > 0) time = Library.Utility.Utility.DeserializeDateTime(Library.Utility.Utility.SerializeDateTime(time)).ToUniversalTime(); + versions ??= []; + + if (versions.Length == 0 && time.Ticks == 0) + return null; + return _lst => { @@ -121,7 +126,7 @@ namespace Duplicati.Library.Main.Operation var numbers = lst.Zip(Enumerable.Range(0, lst.Length), (a, b) => new KeyValuePair(b, a)).ToList(); - if (time.Ticks > 0 && versions != null && versions.Length > 0) + if (time.Ticks > 0 && versions.Length > 0) return from n in numbers where (singleTimeMatch ? n.Value.Time == time : n.Value.Time <= time) && versions.Contains(n.Key) select n; @@ -129,7 +134,7 @@ namespace Duplicati.Library.Main.Operation return from n in numbers where (singleTimeMatch ? n.Value.Time == time : n.Value.Time <= time) select n; - else if (versions != null && versions.Length > 0) + else if (versions.Length > 0) return from n in numbers where versions.Contains(n.Key) select n;