From d9c888614082d063ca7b83b2940044a5b80949e2 Mon Sep 17 00:00:00 2001 From: Mathias Simmack Date: Sat, 17 Jun 2006 07:52:58 +0000 Subject: [PATCH] catched an exception with invalid pointers (http://community.sharpdevelop.net/forums/thread/8728.aspx) git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@1491 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- .../Project/src/BaseControls/IndexPad.cs | 25 +++++++++++----- .../Project/src/BaseControls/TocPad.cs | 18 ++++++++--- .../Project/src/Service/HtmlHelp2Service.cs | 30 ++++--------------- 3 files changed, 38 insertions(+), 35 deletions(-) diff --git a/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/IndexPad.cs b/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/IndexPad.cs index 3ccbb84693..3fe78866b3 100644 --- a/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/IndexPad.cs +++ b/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/IndexPad.cs @@ -168,13 +168,24 @@ namespace HtmlHelp2 public void LoadIndex() { if (!this.controlIsEnabled) return; - - searchTerm.Text = ""; - searchTerm.Items.Clear(); - indexControl.IndexData = HtmlHelp2Environment.GetIndex(HtmlHelp2Environment.CurrentFilterQuery); - filterCombobox.SelectedIndexChanged -= new EventHandler(FilterChanged); - HtmlHelp2Environment.BuildFilterList(filterCombobox); - filterCombobox.SelectedIndexChanged += new EventHandler(FilterChanged); + + try + { + searchTerm.Text = ""; + searchTerm.Items.Clear(); + indexControl.IndexData = HtmlHelp2Environment.GetIndex(HtmlHelp2Environment.CurrentFilterQuery); + filterCombobox.SelectedIndexChanged -= new EventHandler(FilterChanged); + HtmlHelp2Environment.BuildFilterList(filterCombobox); + filterCombobox.SelectedIndexChanged += new EventHandler(FilterChanged); + } + catch + { + LoggingService.Error("Help 2.0: cannot connect to IHxIndex interface (Index)"); + indexControl.Enabled = false; + indexControl.BackColor = SystemColors.ButtonFace; + filterCombobox.Enabled = false; + searchTerm.Enabled = false; + } } private void FilterChanged(object sender, EventArgs e) diff --git a/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/TocPad.cs b/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/TocPad.cs index 5b62782cc9..5484d79df2 100644 --- a/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/TocPad.cs +++ b/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/TocPad.cs @@ -205,10 +205,20 @@ namespace HtmlHelp2 { if (!this.controlIsEnabled) return; - tocControl.Hierarchy = HtmlHelp2Environment.GetTocHierarchy(HtmlHelp2Environment.CurrentFilterQuery); - filterCombobox.SelectedIndexChanged -= new EventHandler(this.FilterChanged); - HtmlHelp2Environment.BuildFilterList(filterCombobox); - filterCombobox.SelectedIndexChanged += new EventHandler(this.FilterChanged); + try + { + tocControl.Hierarchy = HtmlHelp2Environment.GetTocHierarchy(HtmlHelp2Environment.CurrentFilterQuery); + filterCombobox.SelectedIndexChanged -= new EventHandler(this.FilterChanged); + HtmlHelp2Environment.BuildFilterList(filterCombobox); + filterCombobox.SelectedIndexChanged += new EventHandler(this.FilterChanged); + } + catch + { + LoggingService.Error("Help 2.0: cannot connect to IHxHierarchy interface (Contents)"); + tocControl.Enabled = false; + tocControl.BackColor = SystemColors.ButtonFace; + filterCombobox.Enabled = false; + } } private void FilterChanged(object sender, EventArgs e) diff --git a/src/AddIns/Misc/HtmlHelp2/Project/src/Service/HtmlHelp2Service.cs b/src/AddIns/Misc/HtmlHelp2/Project/src/Service/HtmlHelp2Service.cs index 3ecee9aff1..ef5b20d614 100644 --- a/src/AddIns/Misc/HtmlHelp2/Project/src/Service/HtmlHelp2Service.cs +++ b/src/AddIns/Misc/HtmlHelp2/Project/src/Service/HtmlHelp2Service.cs @@ -203,34 +203,16 @@ namespace HtmlHelp2.Environment public static IHxHierarchy GetTocHierarchy(string filterQuery) { - try - { - IHxHierarchy defaultToc = - (IHxHierarchy)session.GetNavigationInterface("!DefaultTOC", filterQuery, ref TocGuid); - return defaultToc; - } - catch - { - LoggingService.Error("Help 2.0: cannot connect to IHxHierarchy interface (Contents)"); - return null; - } + IHxHierarchy defaultToc = + (IHxHierarchy)session.GetNavigationInterface("!DefaultTOC", filterQuery, ref TocGuid); + return defaultToc; } public static IHxIndex GetIndex(string filterQuery) { - try - { - IHxIndex defaultIndex = - (IHxIndex)session.GetNavigationInterface("!DefaultKeywordIndex", - filterQuery, - ref IndexGuid); - return defaultIndex; - } - catch - { - LoggingService.Error("Help 2.0: cannot connect to IHxIndex interface (Index)"); - return null; - } + IHxIndex defaultIndex = + (IHxIndex)session.GetNavigationInterface("!DefaultKeywordIndex", filterQuery, ref IndexGuid); + return defaultIndex; } public static void BuildFilterList(ComboBox filterCombobox)