From dc4f4cb956c117fc754f4f932bd56736daead873 Mon Sep 17 00:00:00 2001 From: Sam Johnson Date: Mon, 3 Nov 2025 01:38:36 -0600 Subject: [PATCH] Fix leak when referencing SearchHelper.Results Since every access created a new collection, event handlers could not be removed. --- src/ManagedShell.Common/Helpers/SearchHelper.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/ManagedShell.Common/Helpers/SearchHelper.cs b/src/ManagedShell.Common/Helpers/SearchHelper.cs index 42a10ee2..20d00b1e 100644 --- a/src/ManagedShell.Common/Helpers/SearchHelper.cs +++ b/src/ManagedShell.Common/Helpers/SearchHelper.cs @@ -25,6 +25,7 @@ public class SearchHelper : DependencyObject static SearchHelper() { m_results = new ThreadSafeObservableCollection(); + m_resultsReadOnly = new ReadOnlyObservableCollection(m_results); } public static readonly DependencyProperty SearchTextProperty = DependencyProperty.Register("SearchText", @@ -193,10 +194,11 @@ public string SearchText } static ThreadSafeObservableCollection m_results; + static ReadOnlyObservableCollection m_resultsReadOnly; public ReadOnlyObservableCollection Results { - get { return new ReadOnlyObservableCollection(m_results); } + get { return m_resultsReadOnly; } } } } \ No newline at end of file