Bugfix #1269 : Chardonnay. Bad filter string causes infinite loop

This commit is contained in:
rmcrackan 2025-06-16 13:19:48 -04:00
parent 248fdfd2bc
commit 0d1cc42ca7
2 changed files with 9 additions and 6 deletions

View File

@ -2,7 +2,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<Version>12.4.3.1</Version>
<Version>12.4.4.1</Version>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Octokit" Version="14.0.0" />

View File

@ -14,7 +14,9 @@ namespace LibationAvalonia.ViewModels
{
partial class MainVM
{
private QuickFilters.NamedFilter? lastGoodFilter = new(string.Empty, null);
private string lastGoodSearch = string.Empty;
private QuickFilters.NamedFilter? lastGoodFilter => new(lastGoodSearch, null);
private QuickFilters.NamedFilter? _selectedNamedFilter = new(string.Empty, null);
private bool _firstFilterIsDefault = true;
@ -64,7 +66,7 @@ namespace LibationAvalonia.ViewModels
try
{
await ProductsDisplay.Filter(tryFilter);
lastGoodFilter = namedFilter;
lastGoodSearch = namedFilter?.Filter ?? "";
}
catch (Exception ex)
{
@ -72,7 +74,8 @@ namespace LibationAvalonia.ViewModels
await MessageBox.Show($"Bad filter string: \"{tryFilter}\"\r\n\r\n{ex.Message}", "Bad filter string", MessageBoxButtons.OK, MessageBoxIcon.Error);
// re-apply last good filter
await PerformFilter(lastGoodFilter);
namedFilter = (namedFilter ?? new(string.Empty, null)) with { Filter = lastGoodSearch };
await PerformFilter(namedFilter);
}
}