Browse Source

Merge branch 'master' into newNR

addin-manager-package-subdirectories
Matt Ward 12 years ago
parent
commit
44764b87d6
  1. 11
      samples/Mono/Mono.Build.Tasks/MonoToolLocationHelper.cs
  2. 10
      src/AddIns/BackendBindings/FSharpBinding/FSharpProject.cs
  3. 13
      src/AddIns/BackendBindings/FSharpBinding/ProjectHelpers.cs

11
samples/Mono/Mono.Build.Tasks/MonoToolLocationHelper.cs

@ -200,7 +200,7 @@ namespace Mono.Build.Tasks @@ -200,7 +200,7 @@ namespace Mono.Build.Tasks
static string ReadRegistryValue(string keyName, string name)
{
try {
RegistryKey key = Registry.LocalMachine.OpenSubKey(keyName);
RegistryKey key = OpenLocalMachineOrUserRegistryKey(keyName);
if (key != null) {
string readValue = (string)key.GetValue(name);
key.Close();
@ -212,5 +212,14 @@ namespace Mono.Build.Tasks @@ -212,5 +212,14 @@ namespace Mono.Build.Tasks
return String.Empty;
}
static RegistryKey OpenLocalMachineOrUserRegistryKey(string keyName)
{
RegistryKey key = Registry.CurrentUser.OpenSubKey(keyName);
if (key != null) {
return key;
}
return Registry.LocalMachine.OpenSubKey(keyName);
}
}
}

10
src/AddIns/BackendBindings/FSharpBinding/FSharpProject.cs

@ -33,6 +33,16 @@ namespace FSharpBinding @@ -33,6 +33,16 @@ namespace FSharpBinding
{
return new FSharpProjectBehavior(this, base.CreateDefaultBehavior());
}
public void DisableWatcher()
{
watcher.Disable();
}
public void EnableWatcher()
{
watcher.Enable();
}
}
public class FSharpProjectBehavior : ProjectBehavior

13
src/AddIns/BackendBindings/FSharpBinding/ProjectHelpers.cs

@ -45,7 +45,18 @@ namespace FSharpBinding @@ -45,7 +45,18 @@ namespace FSharpBinding
if (d.TryGetValue(node, out xmlElem))
itemNode.AppendChild(xmlElem);
}
doc.Save(project.FileName);
SaveProjectXml(doc, project as FSharpProject);
}
static void SaveProjectXml(XmlDocument doc, FSharpProject project)
{
project.DisableWatcher();
try {
doc.Save(project.FileName);
} finally {
project.EnableWatcher();
}
}
}

Loading…
Cancel
Save