diff --git a/src/modules/imageresizer/ImageResizerCLI/Program.cs b/src/modules/imageresizer/ImageResizerCLI/Program.cs index 4716730995..d24ab93bde 100644 --- a/src/modules/imageresizer/ImageResizerCLI/Program.cs +++ b/src/modules/imageresizer/ImageResizerCLI/Program.cs @@ -31,7 +31,7 @@ internal static class Program Console.InputEncoding = Encoding.Unicode; // Initialize logger to file (same as other modules) - CliLogger.Initialize("\\ImageResizer\\Logs"); + CliLogger.Initialize("\\Image Resizer\\CLI"); CliLogger.Info($"ImageResizerCLI started with {args.Length} argument(s)"); try diff --git a/src/modules/imageresizer/tests/Properties/SettingsTests.cs b/src/modules/imageresizer/tests/Properties/SettingsTests.cs index ed182556a3..16cbceae6e 100644 --- a/src/modules/imageresizer/tests/Properties/SettingsTests.cs +++ b/src/modules/imageresizer/tests/Properties/SettingsTests.cs @@ -126,13 +126,10 @@ namespace ImageResizer.Properties h => ncc.CollectionChanged -= h, () => settings.CustomSize = new CustomSize()); - Assert.AreEqual(NotifyCollectionChangedAction.Replace, result.Arguments.Action); - Assert.AreEqual(1, result.Arguments.NewItems.Count); - Assert.AreEqual(settings.CustomSize, result.Arguments.NewItems[0]); - Assert.AreEqual(0, result.Arguments.NewStartingIndex); - Assert.AreEqual(1, result.Arguments.OldItems.Count); - Assert.AreEqual(originalCustomSize, result.Arguments.OldItems[0]); - Assert.AreEqual(0, result.Arguments.OldStartingIndex); + // Reset is used instead of Replace to avoid ArgumentOutOfRangeException + // when notifying changes for virtual items (CustomSize/AiSize) that exist + // outside the bounds of the underlying _sizes collection. + Assert.AreEqual(NotifyCollectionChangedAction.Reset, result.Arguments.Action); } [TestMethod] diff --git a/src/modules/imageresizer/ui/Properties/Settings.cs b/src/modules/imageresizer/ui/Properties/Settings.cs index 542f82e0a8..a6b535a782 100644 --- a/src/modules/imageresizer/ui/Properties/Settings.cs +++ b/src/modules/imageresizer/ui/Properties/Settings.cs @@ -216,27 +216,15 @@ namespace ImageResizer.Properties { if (e.PropertyName == nameof(Models.CustomSize)) { - var oldCustomSize = _customSize; _customSize = settings.CustomSize; - OnCollectionChanged( - new NotifyCollectionChangedEventArgs( - NotifyCollectionChangedAction.Replace, - _customSize, - oldCustomSize, - _sizes.Count)); + OnCollectionChanged(new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Reset)); } else if (e.PropertyName == nameof(Models.AiSize)) { - var oldAiSize = _aiSize; _aiSize = settings.AiSize; - OnCollectionChanged( - new NotifyCollectionChangedEventArgs( - NotifyCollectionChangedAction.Replace, - _aiSize, - oldAiSize, - _sizes.Count + 1)); + OnCollectionChanged(new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Reset)); } else if (e.PropertyName == nameof(Sizes)) {