diff options
author | Greg Munn <greg@sgmunn.com> | 2015-11-30 21:39:30 +0300 |
---|---|---|
committer | Greg Munn <greg@sgmunn.com> | 2015-11-30 21:39:30 +0300 |
commit | 9100a5c500a5e81ace955ad1f4f477d5fe021295 (patch) | |
tree | ddfcd6a6e0d980c118b0a9205992644164aa2ad6 /main/src/core/MonoDevelop.Ide | |
parent | 258827a7881385040e67b25b58e6fa444cc00635 (diff) | |
parent | 35988a98b4340b896f4f5a0f08e1c444b569e9fb (diff) |
Merge pull request #1161 from mono/cycle6-bug-29879-global-search-crash
[Ide] Fix crash in global search popup window.
Diffstat (limited to 'main/src/core/MonoDevelop.Ide')
-rw-r--r-- | main/src/core/MonoDevelop.Ide/MonoDevelop.Components.MainToolbar/SearchPopupWindow.cs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.MainToolbar/SearchPopupWindow.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.MainToolbar/SearchPopupWindow.cs index 7deca2de99..8cc4de95ca 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.MainToolbar/SearchPopupWindow.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.MainToolbar/SearchPopupWindow.cs @@ -245,6 +245,7 @@ namespace MonoDevelop.Components.MainToolbar if (incompleteResults.Count == categories.Count) { results.Clear (); results.AddRange (incompleteResults); + List<Tuple<SearchCategory, ISearchDataSource>> failedResults = null; topItem = null; for (int i = 0; i < results.Count; i++) { @@ -256,11 +257,17 @@ namespace MonoDevelop.Components.MainToolbar topItem = new ItemIdentifier(tuple.Item1, tuple.Item2, 0); } catch (Exception e) { LoggingService.LogError ("Error while showing result " + i, e); + if (failedResults == null) + failedResults = new List<Tuple<SearchCategory, ISearchDataSource>> (); + failedResults.Add (results [i]); continue; } } selectedItem = topItem; + if (failedResults != null) + failedResults.ForEach (failedResult => results.Remove (failedResult)); + ShowTooltip (); isInSearch = false; AnimatedResize (); |