diff --git a/ShareX.HistoryLib/HistoryForm.cs b/ShareX.HistoryLib/HistoryForm.cs index 37a1bb6ce..ded377ca7 100644 --- a/ShareX.HistoryLib/HistoryForm.cs +++ b/ShareX.HistoryLib/HistoryForm.cs @@ -112,36 +112,46 @@ private HistoryItem[] ApplyFilters(HistoryItem[] historyItems) { string type = cbTypeFilterSelection.Text; - result = result.Where(x => x.Type == type); + if (!string.IsNullOrEmpty(type)) + { + result = result.Where(x => !string.IsNullOrEmpty(x.Type) && x.Type == type); + } } if (cbHostFilter.Checked) { string host = txtHostFilter.Text; - result = result.Where(x => x.Host.IndexOf(host, StringComparison.InvariantCultureIgnoreCase) >= 0); + if (!string.IsNullOrEmpty(host)) + { + result = result.Where(x => !string.IsNullOrEmpty(x.Host) && x.Host.IndexOf(host, StringComparison.InvariantCultureIgnoreCase) >= 0); + } } - string filenameFilter = txtFilenameFilter.Text; - if (cbFilenameFilter.Checked && !string.IsNullOrEmpty(filenameFilter)) + if (cbFilenameFilter.Checked) { - StringComparison rule = GetStringRule(); + string filenameFilter = txtFilenameFilter.Text; - if (cbFilenameFilterMethod.SelectedIndex == 0) // Contains + if (!string.IsNullOrEmpty(filenameFilter)) { - result = result.Where(x => x.Filename.IndexOf(filenameFilter, rule) >= 0); - } - else if (cbFilenameFilterMethod.SelectedIndex == 1) // Starts with - { - result = result.Where(x => x.Filename.StartsWith(filenameFilter, rule)); - } - else if (cbFilenameFilterMethod.SelectedIndex == 2) // Ends with - { - result = result.Where(x => x.Filename.EndsWith(filenameFilter, rule)); - } - else if (cbFilenameFilterMethod.SelectedIndex == 3) // Exact match - { - result = result.Where(x => x.Filename.Equals(filenameFilter, rule)); + StringComparison rule = GetStringRule(); + + if (cbFilenameFilterMethod.SelectedIndex == 0) // Contains + { + result = result.Where(x => x.Filename.IndexOf(filenameFilter, rule) >= 0); + } + else if (cbFilenameFilterMethod.SelectedIndex == 1) // Starts with + { + result = result.Where(x => x.Filename.StartsWith(filenameFilter, rule)); + } + else if (cbFilenameFilterMethod.SelectedIndex == 2) // Ends with + { + result = result.Where(x => x.Filename.EndsWith(filenameFilter, rule)); + } + else if (cbFilenameFilterMethod.SelectedIndex == 3) // Exact match + { + result = result.Where(x => x.Filename.Equals(filenameFilter, rule)); + } } } diff --git a/ShareX.sln b/ShareX.sln index a23be9080..51187736e 100644 --- a/ShareX.sln +++ b/ShareX.sln @@ -73,6 +73,6 @@ Global HideSolutionNode = FALSE EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution - RESX_AutoCreateNewLanguageFiles = True + RESX_AutoCreateNewLanguageFiles = False EndGlobalSection EndGlobal