diff --git a/src/AddIns/Misc/HtmlHelp2/Project/Configuration/AssemblyInfo.cs b/src/AddIns/Misc/HtmlHelp2/Project/Configuration/AssemblyInfo.cs
index 5360129e9f..438fe8e91b 100644
--- a/src/AddIns/Misc/HtmlHelp2/Project/Configuration/AssemblyInfo.cs
+++ b/src/AddIns/Misc/HtmlHelp2/Project/Configuration/AssemblyInfo.cs
@@ -7,6 +7,7 @@
using System.Reflection;
using System.Runtime.CompilerServices;
+using System.Security.Permissions;
// Information about this assembly is defined by the following
// attributes.
@@ -21,3 +22,5 @@ using System.Runtime.CompilerServices;
[assembly: AssemblyCulture("")]
[assembly: System.Runtime.InteropServices.ComVisible(false)]
+[assembly: System.CLSCompliant(false)]
+[assembly: SecurityPermission(SecurityAction.RequestMinimum, Execution = true)]
diff --git a/src/AddIns/Misc/HtmlHelp2/Project/HtmlHelp2.addin b/src/AddIns/Misc/HtmlHelp2/Project/HtmlHelp2.addin
index 4bf1b31670..7c8d8c6d24 100644
--- a/src/AddIns/Misc/HtmlHelp2/Project/HtmlHelp2.addin
+++ b/src/AddIns/Misc/HtmlHelp2/Project/HtmlHelp2.addin
@@ -16,7 +16,7 @@
-
+
diff --git a/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/DynamicHelpPad.cs b/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/DynamicHelpPad.cs
index 1cbd479aa9..b222f892aa 100644
--- a/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/DynamicHelpPad.cs
+++ b/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/DynamicHelpPad.cs
@@ -11,6 +11,8 @@ namespace HtmlHelp2
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Drawing;
+ using System.Globalization;
+ using System.Security.Permissions;
using System.Windows.Forms;
using System.Reflection;
using ICSharpCode.Core;
@@ -35,7 +37,7 @@ namespace HtmlHelp2
public class HtmlHelp2DynamicHelpPad : AbstractPadContent
{
- protected HtmlHelp2DynamicHelpBrowserControl dynamicHelpBrowser;
+ HtmlHelp2DynamicHelpBrowserControl dynamicHelpBrowser;
private StringCollection dynamicHelpTerms = new StringCollection();
private Point lastPoint = Point.Empty;
private string debugPreElement = String.Empty;
@@ -51,6 +53,7 @@ namespace HtmlHelp2
dynamicHelpBrowser.RedrawContent();
}
+ [PermissionSet(SecurityAction.LinkDemand, Name="Execution")]
public HtmlHelp2DynamicHelpPad()
{
dynamicHelpBrowser = new HtmlHelp2DynamicHelpBrowserControl();
@@ -95,11 +98,11 @@ namespace HtmlHelp2
if (this.enableDebugInfo)
{
this.debugPreElement +=
- string.Format("
Current project language: {0}", SharpDevLanguage.GetPatchedLanguage());
+ string.Format(CultureInfo.InvariantCulture, "
Current project language: {0}", SharpDevLanguage.GetPatchedLanguage());
dynamicHelpBrowser.CreateDebugPre(this.debugPreElement);
}
}
- catch (Exception ex)
+ catch (System.Runtime.InteropServices.COMException ex)
{
LoggingService.Error("Help 2.0: Dynamic Help Call Exception; " + ex.ToString());
}
@@ -122,12 +125,13 @@ namespace HtmlHelp2
// debug info
this.debugPreElement +=
- string.Format("{0} ({1}): {2} {3}
", searchTerm, (keywordSearch)?"Kwd":"DH",
+ string.Format(CultureInfo.InvariantCulture,
+ "{0} ({1}): {2} {3}
", searchTerm, (keywordSearch)?"Kwd":"DH",
topics.Count, (topics.Count==1)?"topic":"topics");
if (result)
{
- List newTopics = this.SortTopics(topics);
+ List newTopics = SortTopics(topics);
foreach (IHxTopic topic in newTopics)
{
if ((keywordSearch)?SharpDevLanguage.CheckUniqueTopicLanguage(topic):SharpDevLanguage.CheckTopicLanguage(topic))
@@ -207,7 +211,7 @@ namespace HtmlHelp2
// save the current position
if(this.lastPoint != null && this.lastPoint == caret.Position) return null;
this.lastPoint = caret.Position;
- this.AddToStringCollection(String.Format("!{0}", expr.Expression));
+ this.AddToStringCollection(string.Format(CultureInfo.InvariantCulture, "!{0}", expr.Expression));
return ParserService.Resolve(expr, caret.Line + 1, caret.Column + 1, fileName, content);
}
@@ -228,24 +232,21 @@ namespace HtmlHelp2
private void CallDynamicHelpForFormsDesigner(object selectedObject, GridItem selectedItem)
{
- try
- {
- if (selectedObject == null) return;
- this.dynamicHelpTerms.Clear();
+ if (selectedObject == null) return;
+ this.dynamicHelpTerms.Clear();
- Type myObject = selectedObject.GetType();
- if (selectedItem != null)
+ Type myObject = selectedObject.GetType();
+ if (selectedItem != null)
+ {
+ foreach (Type type in TypeHandling.FindDeclaringType(myObject, selectedItem.Label))
{
- foreach (Type type in TypeHandling.FindDeclaringType(myObject, selectedItem.Label))
- {
- this.AddToStringCollection(String.Format("{0}.{1}", type.FullName, selectedItem.Label));
- }
+ this.AddToStringCollection(string.Format(CultureInfo.InvariantCulture,
+ "{0}.{1}", type.FullName, selectedItem.Label));
}
- this.AddToStringCollection(myObject.FullName);
-
- WorkbenchSingleton.SafeThreadAsyncCall(this, "BuildDynamicHelpList");
}
- catch {}
+ this.AddToStringCollection(myObject.FullName);
+
+ WorkbenchSingleton.SafeThreadAsyncCall(this, "BuildDynamicHelpList");
}
#endregion
@@ -271,7 +272,7 @@ namespace HtmlHelp2
}
}
- private List SortTopics(IHxTopicList topics)
+ private static List SortTopics(IHxTopicList topics)
{
if (topics == null || topics.Count == 0)
{
@@ -301,7 +302,7 @@ namespace HtmlHelp2
return result;
}
- private int CompareType(string topicType, IHxTopic x, IHxTopic y)
+ private static int CompareType(string topicType, IHxTopic x, IHxTopic y)
{
if(x.HasAttribute("TopicType", topicType) && !y.HasAttribute("TopicType", topicType))
return -1;
@@ -323,7 +324,7 @@ namespace HtmlHelp2
{
WebBrowser axWebBrowser = new WebBrowser();
ToolStrip dynamicHelpToolbar = new ToolStrip();
- int internalIndex = 0;
+ int internalIndex;
string[] toolbarButtons = new string[] {
"${res:AddIns.HtmlHelp2.Contents}",
"${res:AddIns.HtmlHelp2.Index}",
@@ -338,11 +339,13 @@ namespace HtmlHelp2
}
}
+ [PermissionSet(SecurityAction.LinkDemand, Name="Execution")]
public HtmlHelp2DynamicHelpBrowserControl()
{
this.InitializeComponents();
}
+ [PermissionSet(SecurityAction.LinkDemand, Name="Execution")]
private void InitializeComponents()
{
Dock = DockStyle.Fill;
@@ -385,9 +388,10 @@ namespace HtmlHelp2
}
}
+ [PermissionSet(SecurityAction.LinkDemand, Name="Execution")]
public void LoadDynamicHelpPage()
{
- string url = String.Format("res://{0}/context", Assembly.GetExecutingAssembly().Location);
+ string url = string.Format(CultureInfo.InvariantCulture, "res://{0}/context", Assembly.GetExecutingAssembly().Location);
axWebBrowser.Navigate(url);
}
@@ -425,7 +429,8 @@ namespace HtmlHelp2
#endregion
#region WebBrowser Scripting
- public void BuildNewChild(string sectionName, string topicName, string topicUrl)
+ [PermissionSet(SecurityAction.LinkDemand, Name="Execution")]
+ public void BuildNewChild(string sectionName, string topicName, string topicLink)
{
HtmlElementCollection children =
axWebBrowser.Document.Body.GetElementsByTagName("span");
@@ -441,9 +446,9 @@ namespace HtmlHelp2
contentSpan.TagName == "SPAN" &&
contentSpan.GetAttribute("className") == "content")
{
- if (!this.DoesLinkExist(contentSpan, topicName, topicUrl))
+ if (!DoesLinkExist(contentSpan, topicName, topicLink))
{
- HtmlElement newLink = this.CreateNewLink(topicUrl, topicName);
+ HtmlElement newLink = this.CreateNewLink(topicLink, topicName);
if (newLink != null)
{
contentSpan.AppendChild(newLink);
@@ -469,7 +474,7 @@ namespace HtmlHelp2
axWebBrowser.Document.Body.InsertAdjacentElement
(HtmlElementInsertionOrientation.BeforeEnd, htmlSection);
- HtmlElement newLink = this.CreateNewLink(topicUrl, topicName);
+ HtmlElement newLink = this.CreateNewLink(topicLink, topicName);
if (newLink != null)
{
linkContent.AppendChild(newLink);
@@ -480,23 +485,26 @@ namespace HtmlHelp2
}
}
+ [PermissionSet(SecurityAction.LinkDemand, Name="Execution")]
private HtmlElement CreateNewSection(string sectionName, out HtmlElement linkNode)
{
HtmlElement span = axWebBrowser.Document.CreateElement("span");
span.SetAttribute("className", "section");
- span.InnerHtml = String.Format
- ("
" +
+ span.InnerHtml = string.Format
+ (CultureInfo.InvariantCulture,
+ "
" +
"{1}
",
this.internalIndex, sectionName);
linkNode = axWebBrowser.Document.CreateElement("span");
linkNode.SetAttribute("className", "content");
- linkNode.Id = String.Format("content_{0}", this.internalIndex);
+ linkNode.Id = string.Format(CultureInfo.InvariantCulture, "content_{0}", this.internalIndex);
span.AppendChild(linkNode);
return span;
}
+ [PermissionSet(SecurityAction.LinkDemand, Name="Execution")]
private HtmlElement CreateNewLink(string topicUrl, string topicName)
{
HtmlElement span = axWebBrowser.Document.CreateElement("a");
@@ -511,13 +519,15 @@ namespace HtmlHelp2
return span;
}
+ [PermissionSet(SecurityAction.LinkDemand, Name="Execution")]
private HtmlElement CreateABreak()
{
HtmlElement br = axWebBrowser.Document.CreateElement("br");
return br;
}
- private bool DoesLinkExist(HtmlElement parentNode, string topicName, string topicUrl)
+ [PermissionSet(SecurityAction.LinkDemand, Name="Execution")]
+ private static bool DoesLinkExist(HtmlElement parentNode, string topicName, string topicUrl)
{
HtmlElementCollection links = parentNode.GetElementsByTagName("a");
foreach (HtmlElement link in links)
@@ -533,9 +543,10 @@ namespace HtmlHelp2
private void OnMouseOver(object sender, HtmlElementEventArgs e)
{
- if (sender is HtmlElement)
+ HtmlElement link = sender as HtmlElement;
+ if (link != null)
{
- StatusBarService.SetMessage(((HtmlElement)sender).GetAttribute("src"));
+ StatusBarService.SetMessage(link.GetAttribute("src"));
}
}
@@ -546,13 +557,15 @@ namespace HtmlHelp2
private void OnLinkClick(object sender, HtmlElementEventArgs e)
{
- if (sender is HtmlElement)
+ HtmlElement link = sender as HtmlElement;
+ if (link != null)
{
- string url = ((HtmlElement)sender).GetAttribute("src");
+ string url = link.GetAttribute("src");
if (!string.IsNullOrEmpty(url)) ShowHelpBrowser.OpenHelpView(url);
}
}
+ [PermissionSet(SecurityAction.LinkDemand, Name="Execution")]
public void RemoveAllChildren()
{
try
@@ -560,7 +573,7 @@ namespace HtmlHelp2
this.internalIndex = 0;
axWebBrowser.Document.Body.InnerHtml = string.Empty;
}
- catch (Exception ex)
+ catch (System.NotSupportedException ex)
{
LoggingService.Error("Help 2.0: Clean-up Call Exception; " + ex.ToString());
}
@@ -568,6 +581,7 @@ namespace HtmlHelp2
#endregion
#region DebugInfo
+ [PermissionSet(SecurityAction.LinkDemand, Name="Execution")]
public void CreateDebugPre(string debugInformation)
{
if (!string.IsNullOrEmpty(debugInformation))
diff --git a/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/IndexResultsPad.cs b/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/IndexResultsPad.cs
index d036e66c6c..18dbb1d9b3 100644
--- a/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/IndexResultsPad.cs
+++ b/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/IndexResultsPad.cs
@@ -9,6 +9,7 @@ namespace HtmlHelp2
{
using System;
using System.Collections;
+ using System.Globalization;
using System.Windows.Forms;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop;
@@ -118,7 +119,7 @@ namespace HtmlHelp2
string text = StringParser.Parse("${res:AddIns.HtmlHelp2.ResultsOfIndexResults}",
new string[,]
{{"0", indexTerm},
- {"1", listView.Items.Count.ToString()},
+ {"1", listView.Items.Count.ToString(CultureInfo.InvariantCulture)},
{"2", (listView.Items.Count == 1)?"${res:AddIns.HtmlHelp2.SingleTopic}":"${res:AddIns.HtmlHelp2.MultiTopic}"}}
);
diff --git a/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/SearchResultsPad.cs b/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/SearchResultsPad.cs
index 74a4d06a77..1f66480d80 100644
--- a/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/SearchResultsPad.cs
+++ b/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/SearchResultsPad.cs
@@ -9,6 +9,7 @@ namespace HtmlHelp2
{
using System;
using System.Collections;
+ using System.Globalization;
using System.Windows.Forms;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop;
@@ -123,7 +124,7 @@ namespace HtmlHelp2
string text = StringParser.Parse("${res:AddIns.HtmlHelp2.ResultsOfSearchResults}",
new string[,]
{{"0", indexTerm},
- {"1", listView.Items.Count.ToString()},
+ {"1", listView.Items.Count.ToString(CultureInfo.InvariantCulture)},
{"2", (listView.Items.Count == 1)?"${res:AddIns.HtmlHelp2.SingleTopic}":"${res:AddIns.HtmlHelp2.MultiTopic}"}}
);
@@ -142,16 +143,19 @@ namespace HtmlHelp2
public int Compare(object x, object y)
{
+ ListViewItem itemA = x as ListViewItem;
+ ListViewItem itemB = y as ListViewItem;
+
switch (col)
{
case 2:
- int a = Int32.Parse(((ListViewItem)x).SubItems[col].Text);
- int b = Int32.Parse(((ListViewItem)y).SubItems[col].Text);
+ int a = Int32.Parse(itemA.SubItems[col].Text, CultureInfo.InvariantCulture);
+ int b = Int32.Parse(itemB.SubItems[col].Text, CultureInfo.InvariantCulture);
if(a > b) return 1;
else if(a < b) return -1;
else return 0;
default:
- return String.Compare(((ListViewItem)x).SubItems[col].Text, ((ListViewItem)y).SubItems[col].Text);
+ return string.Compare(itemA.SubItems[col].Text, itemB.SubItems[col].Text);
}
}
}
diff --git a/src/AddIns/Misc/HtmlHelp2/Project/src/BrowserControl/HelpBrowserCommands.cs b/src/AddIns/Misc/HtmlHelp2/Project/src/BrowserControl/HelpBrowserCommands.cs
index 5c57467c29..9a3543833d 100644
--- a/src/AddIns/Misc/HtmlHelp2/Project/src/BrowserControl/HelpBrowserCommands.cs
+++ b/src/AddIns/Misc/HtmlHelp2/Project/src/BrowserControl/HelpBrowserCommands.cs
@@ -7,8 +7,8 @@
using System;
using System.Drawing;
+using System.Security.Permissions;
using System.Windows.Forms;
-
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Gui;
@@ -19,7 +19,7 @@ namespace HtmlHelp2
{
public abstract class HelpToolbarCommand : AbstractCommand
{
- public HtmlHelp2TocPad TocPad
+ public static HtmlHelp2TocPad TocPad
{
get
{
@@ -35,12 +35,14 @@ namespace HtmlHelp2
}
}
- public void BringTocPadToFront()
+ public static void BringTocPadToFront()
{
WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2TocPad)).BringPadToFront();
}
}
+ [PermissionSet(SecurityAction.LinkDemand, Name="Execution")]
+ [PermissionSet(SecurityAction.InheritanceDemand, Name="Execution")]
public class SyncTocCommand : HelpToolbarCommand
{
public override void Run()
@@ -50,6 +52,8 @@ namespace HtmlHelp2
}
}
+ [PermissionSet(SecurityAction.LinkDemand, Name="Execution")]
+ [PermissionSet(SecurityAction.InheritanceDemand, Name="Execution")]
public class PreviousTopicCommand : HelpToolbarCommand
{
public override void Run()
@@ -58,7 +62,7 @@ namespace HtmlHelp2
{
TocPad.GetPrevFromNode();
}
- catch
+ catch (System.ArgumentException)
{
TocPad.GetPrevFromUrl(Browser.Url.ToString());
}
@@ -66,6 +70,8 @@ namespace HtmlHelp2
}
}
+ [PermissionSet(SecurityAction.LinkDemand, Name="Execution")]
+ [PermissionSet(SecurityAction.InheritanceDemand, Name="Execution")]
public class NextTopicCommand : HelpToolbarCommand
{
public override void Run()
@@ -74,7 +80,7 @@ namespace HtmlHelp2
{
TocPad.GetNextFromNode();
}
- catch
+ catch (System.ArgumentException)
{
TocPad.GetNextFromUrl(Browser.Url.ToString());
}
diff --git a/src/AddIns/Misc/HtmlHelp2/Project/src/BrowserControl/ShowHelpBrowser.cs b/src/AddIns/Misc/HtmlHelp2/Project/src/BrowserControl/ShowHelpBrowser.cs
index b23919dda1..da214d239c 100644
--- a/src/AddIns/Misc/HtmlHelp2/Project/src/BrowserControl/ShowHelpBrowser.cs
+++ b/src/AddIns/Misc/HtmlHelp2/Project/src/BrowserControl/ShowHelpBrowser.cs
@@ -38,17 +38,17 @@ namespace HtmlHelp2
OpenHelpView(topic.URL, topic, hiliteMatchingWords);
}
- public static void OpenHelpView(string topicUrl)
+ public static void OpenHelpView(string topicLink)
{
- OpenHelpView(topicUrl, null, false);
+ OpenHelpView(topicLink, null, false);
}
- public static void OpenHelpView(string topicUrl, bool hiliteMatchingWords)
+ public static void OpenHelpView(string topicLink, bool hiliteMatchingWords)
{
- OpenHelpView(topicUrl, null, hiliteMatchingWords);
+ OpenHelpView(topicLink, null, hiliteMatchingWords);
}
- public static void OpenHelpView(string topicUrl, IHxTopic topic, bool hiliteMatchingWords)
+ public static void OpenHelpView(string topicLink, IHxTopic topic, bool hiliteMatchingWords)
{
hiliteMatches = hiliteMatchingWords;
lastTopic = topic;
@@ -56,7 +56,7 @@ namespace HtmlHelp2
if (help2Browser != null)
{
- help2Browser.Load(topicUrl);
+ help2Browser.Load(topicLink);
help2Browser.WorkbenchWindow.SelectWindow();
}
}
diff --git a/src/AddIns/Misc/HtmlHelp2/Project/src/BrowserScheme.cs b/src/AddIns/Misc/HtmlHelp2/Project/src/BrowserScheme.cs
index 1ed6562e30..e61b7c5dc4 100644
--- a/src/AddIns/Misc/HtmlHelp2/Project/src/BrowserScheme.cs
+++ b/src/AddIns/Misc/HtmlHelp2/Project/src/BrowserScheme.cs
@@ -7,6 +7,8 @@
using System;
using System.Collections.Generic;
+using System.Globalization;
+using System.Security.Permissions;
using System.Windows.Forms;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Gui;
@@ -22,16 +24,29 @@ namespace HtmlHelp2
public override void GoHome(HtmlViewPane pane)
{
- pane.Navigate(HtmlHelp2Environment.DefaultPage);
+ if (pane == null)
+ {
+ throw new ArgumentNullException("pane");
+ }
+ pane.Navigate(new Uri(HtmlHelp2Environment.DefaultPage));
}
public override void GoSearch(HtmlViewPane pane)
{
- pane.Navigate(HtmlHelp2Environment.SearchPage);
+ if (pane == null)
+ {
+ throw new ArgumentNullException("pane");
+ }
+ pane.Navigate(new Uri(HtmlHelp2Environment.SearchPage));
}
+// [PermissionSet(SecurityAction.LinkDemand, Name="Execution")]
public override void InterceptNavigate(HtmlViewPane pane, WebBrowserNavigatingEventArgs e)
{
+ if (pane == null)
+ {
+ throw new ArgumentNullException("pane");
+ }
if (scriptObject == null) {
scriptObject = new JScriptExternal();
LoadHelpState();
@@ -64,9 +79,14 @@ namespace HtmlHelp2
}
PropertyService.Set("HtmlHelpPersistedJScriptGlobals", lines.ToArray());
}
-
+
+// [PermissionSet(SecurityAction.LinkDemand, Name="Execution")]
public override void DocumentCompleted(HtmlViewPane pane, WebBrowserDocumentCompletedEventArgs e)
{
+ if (pane == null)
+ {
+ throw new ArgumentNullException("pane");
+ }
ShowHelpBrowser.HighlightDocument(pane);
}
}
diff --git a/src/AddIns/Misc/HtmlHelp2/Project/src/MsHelpProvider.cs b/src/AddIns/Misc/HtmlHelp2/Project/src/MsHelpProvider.cs
index 986e4a7153..43cce5fcc5 100644
--- a/src/AddIns/Misc/HtmlHelp2/Project/src/MsHelpProvider.cs
+++ b/src/AddIns/Misc/HtmlHelp2/Project/src/MsHelpProvider.cs
@@ -13,36 +13,36 @@ namespace HtmlHelp2
using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.SharpDevelop.Dom;
- public class MsHelpProvider : HelpProvider
+ public class MSHelpProvider : HelpProvider
{
public override bool TryShowHelp(string fullTypeName)
{
LoggingService.Info("Help 2.0: MsHelpProvider.TryShowHelp");
- try
- {
+// try
+// {
PadDescriptor search = WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2SearchPad));
return ((HtmlHelp2SearchPad)search.PadContent).PerformF1Fts(fullTypeName, true);
- }
- catch
- {
- return false;
- }
+// }
+// catch
+// {
+// return false;
+// }
}
public override bool TryShowHelpByKeyword(string keyword)
{
LoggingService.Info("Help 2.0: MsHelpProvider.TryShowHelpByKeyword");
- try
- {
+// try
+// {
PadDescriptor search = WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2SearchPad));
return ((HtmlHelp2SearchPad)search.PadContent).PerformF1Fts(keyword);
- }
- catch
- {
- return false;
- }
+// }
+// catch
+// {
+// return false;
+// }
}
}
}
diff --git a/src/AddIns/Misc/HtmlHelp2/Project/src/Service/Help2RegistryWalker.cs b/src/AddIns/Misc/HtmlHelp2/Project/src/Service/Help2RegistryWalker.cs
index dfb7e14565..b8ac116d3a 100644
--- a/src/AddIns/Misc/HtmlHelp2/Project/src/Service/Help2RegistryWalker.cs
+++ b/src/AddIns/Misc/HtmlHelp2/Project/src/Service/Help2RegistryWalker.cs
@@ -73,48 +73,6 @@ namespace HtmlHelp2.Environment
help2Collections.EndUpdate();
}
return true;
-// if (help2Collections == null)
-// {
-// return false;
-// }
-// help2Collections.Items.Clear();
-// help2Collections.BeginUpdate();
-// bool result = true;
-//
-// try
-// {
-// string currentDescription = string.Empty;
-// HxRegistryWalkerClass registryWalker = new HxRegistryWalkerClass();
-// IHxRegNamespaceList namespaces = registryWalker.get_RegisteredNamespaceList("");
-//
-// foreach (IHxRegNamespace currentNamespace in namespaces)
-// {
-// help2Collections.Items.Add
-// ((string)currentNamespace.GetProperty(HxRegNamespacePropId.HxRegNamespaceDescription));
-//
-// if (!string.IsNullOrEmpty(selectedHelp2Collection) &&
-// string.Compare(selectedHelp2Collection, currentNamespace.Name) == 0)
-// {
-// currentDescription =
-// (string)currentNamespace.GetProperty(HxRegNamespacePropId.HxRegNamespaceDescription);
-// }
-// }
-//
-// if (!string.IsNullOrEmpty(currentDescription))
-// help2Collections.SelectedIndex = help2Collections.Items.IndexOf(currentDescription);
-// else
-// help2Collections.SelectedIndex = 0;
-// }
-// catch
-// {
-// result = false;
-// }
-// finally
-// {
-// help2Collections.EndUpdate();
-// }
-//
-// return result;
}
public static string GetNamespaceName(string description)
@@ -192,9 +150,7 @@ namespace HtmlHelp2.Environment
registryWalker = null;
}
- if (registryWalker == null ||
- help2Namespaces == null || help2Namespaces.Count == 0 ||
- string.IsNullOrEmpty(matchingName))
+ if (registryWalker == null || help2Namespaces == null || help2Namespaces.Count == 0 || string.IsNullOrEmpty(matchingName))
{
return string.Empty;
}
@@ -205,7 +161,7 @@ namespace HtmlHelp2.Environment
return currentNamespace.Name;
}
}
- return string.Empty;
+ return help2Namespaces.ItemAt(1).Name;
}
}
diff --git a/src/AddIns/Misc/HtmlHelp2/Project/src/Service/HtmlHelp2Service.cs b/src/AddIns/Misc/HtmlHelp2/Project/src/Service/HtmlHelp2Service.cs
index 53cec124de..e741ed9e4e 100644
--- a/src/AddIns/Misc/HtmlHelp2/Project/src/Service/HtmlHelp2Service.cs
+++ b/src/AddIns/Misc/HtmlHelp2/Project/src/Service/HtmlHelp2Service.cs
@@ -8,6 +8,7 @@
namespace HtmlHelp2.Environment
{
using System;
+ using System.Globalization;
using System.IO;
using System.Windows.Forms;
using System.Xml;
@@ -24,15 +25,13 @@ namespace HtmlHelp2.Environment
static IHxRegFilterList namespaceFilters;
static IHxQuery fulltextSearch;
static IHxIndex dynamicHelp;
- static string defaultNamespaceName =
- Help2RegistryWalker.GetFirstMatchingNamespaceName("MS.NETFramework.v20*");
- static string currentSelectedFilterQuery = "";
- static string currentSelectedFilterName = "";
+ static string defaultNamespaceName;
+ static string currentSelectedFilterQuery;
+ static string currentSelectedFilterName;
static string defaultPage = "about:blank";
static string searchPage = "http://msdn.microsoft.com";
static bool dynamicHelpIsBusy;
static HtmlHelp2Options config = new HtmlHelp2Options();
-
HtmlHelp2Environment()
{
@@ -40,8 +39,7 @@ namespace HtmlHelp2.Environment
static HtmlHelp2Environment()
{
- LoadHelp2Config();
- InitializeNamespace(defaultNamespaceName);
+ InitializeNamespace();
}
#region Properties
@@ -94,24 +92,36 @@ namespace HtmlHelp2.Environment
#region Namespace Functions
private static void LoadHelp2Config()
{
+ if (string.IsNullOrEmpty(defaultNamespaceName))
+ {
+ defaultNamespaceName =
+ Help2RegistryWalker.GetFirstMatchingNamespaceName("MS.NETFramework.v20*");
+ }
+ else
+ {
+ defaultNamespaceName = Help2RegistryWalker.GetFirstNamespace(defaultNamespaceName);
+ }
+
LoadConfiguration();
+
if (!string.IsNullOrEmpty(config.SelectedCollection))
{
- defaultNamespaceName = config.SelectedCollection;
+ defaultNamespaceName =
+ Help2RegistryWalker.GetFirstNamespace(config.SelectedCollection);
}
}
public static void ReloadNamespace()
{
- LoadHelp2Config();
- defaultNamespaceName = Help2RegistryWalker.GetFirstNamespace(defaultNamespaceName);
- InitializeNamespace(defaultNamespaceName);
+ InitializeNamespace();
OnNamespaceReloaded(EventArgs.Empty);
}
- private static void InitializeNamespace(string namespaceName)
+ private static void InitializeNamespace()
{
- if (string.IsNullOrEmpty(namespaceName))
+ LoadHelp2Config();
+
+ if (string.IsNullOrEmpty(defaultNamespaceName))
{
return;
}
@@ -130,7 +140,7 @@ namespace HtmlHelp2.Environment
currentSelectedFilterName = string.Empty;
session = new HxSession();
- session.Initialize(String.Format(null, "ms-help://{0}", namespaceName), 0);
+ session.Initialize(String.Format(CultureInfo.InvariantCulture, "ms-help://{0}", defaultNamespaceName), 0);
namespaceFilters = session.GetFilterList();
ReloadDefaultPages();