diff --git a/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/TocPad.cs b/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/TocPad.cs index 42f58e0546..5b62782cc9 100644 --- a/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/TocPad.cs +++ b/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/TocPad.cs @@ -300,7 +300,11 @@ namespace HtmlHelp2 #region published Help2 TOC Commands public void SynchronizeToc(string topicUrl) { - tocControl.Synchronize(topicUrl); + try { + tocControl.Synchronize(topicUrl); + } catch (System.Runtime.InteropServices.COMException) { + // SD2-812: ignore exception when trying to synchronize non-existing URL + } } public void GetNextFromNode() @@ -312,9 +316,14 @@ namespace HtmlHelp2 public void GetNextFromUrl(string url) { - int currentNode = tocControl.Hierarchy.GetNextFromUrl(url); - string topicUrl = tocControl.Hierarchy.GetURL(currentNode); - this.CallHelp(topicUrl, true); + try { + int currentNode = tocControl.Hierarchy.GetNextFromUrl(url); + string topicUrl = tocControl.Hierarchy.GetURL(currentNode); + this.CallHelp(topicUrl, true); + } catch (System.Runtime.InteropServices.COMException) { + } catch (ArgumentException) { + // SD2-812: ignore exception when trying to synchronize non-existing URL + } } public void GetPrevFromNode() @@ -326,9 +335,14 @@ namespace HtmlHelp2 public void GetPrevFromUrl(string url) { - int currentNode = tocControl.Hierarchy.GetPrevFromUrl(url); - string topicUrl = tocControl.Hierarchy.GetURL(currentNode); - this.CallHelp(topicUrl, true); + try { + int currentNode = tocControl.Hierarchy.GetPrevFromUrl(url); + string topicUrl = tocControl.Hierarchy.GetURL(currentNode); + this.CallHelp(topicUrl, true); + } catch (ArgumentException) { + } catch (System.Runtime.InteropServices.COMException) { + // SD2-812: ignore exception when trying to synchronize non-existing URL + } } public bool IsNotFirstNode