diff --git a/Src/xWorks/XhtmlDocView.cs b/Src/xWorks/XhtmlDocView.cs index 226998e97c..8af8723bb7 100644 --- a/Src/xWorks/XhtmlDocView.cs +++ b/Src/xWorks/XhtmlDocView.cs @@ -1287,6 +1287,11 @@ private void FindNextInBrowser(object sender, IBasicFindView view) private void ScrollAndHighlightResult(GeckoWebBrowser geckoBrowser, IBasicFindView view, string lastId) { + if (geckoBrowser.Document == null) + { + view.StatusText = "No Document"; + return; + } if (results != null && results.Length > 0) { view.StatusText = $"{resultIndex + 1} of {results.Length} Results"; @@ -1304,7 +1309,7 @@ private void ScrollAndHighlightResult(GeckoWebBrowser geckoBrowser, IBasicFindVi private void ClearCurrentFindResult(GeckoWebBrowser geckoBrowser, string lastId) { - var currentElement = geckoBrowser.Document.GetHtmlElementById(lastId); + var currentElement = geckoBrowser.Document?.GetHtmlElementById(lastId); if (currentElement != null) docView.RemoveClassFromHtmlElement(currentElement, CurrentSelectedEntryClass); } @@ -1317,6 +1322,12 @@ private bool InitResults(string searchText) if (results == null || results.Length == 0) { string newResults = string.Empty; + if (geckoBrowser.Document == null) + { + results = newResults.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries); + resultIndex = 0; + return true; + } geckoBrowser.RemoveMessageEventListener("find"); geckoBrowser.AddMessageEventListener("find", r => newResults = r); using(var executor = new AutoJSContext(geckoBrowser.Window))