diff options
-rw-r--r-- | Mono.Addins/ChangeLog | 8 | ||||
-rw-r--r-- | Mono.Addins/Mono.Addins.Database/AddinDatabase.cs | 4 | ||||
-rw-r--r-- | Mono.Addins/Mono.Addins.Description/AddinDescription.cs | 4 | ||||
-rw-r--r-- | Mono.Addins/Mono.Addins/AddinRegistry.cs | 14 |
4 files changed, 25 insertions, 5 deletions
diff --git a/Mono.Addins/ChangeLog b/Mono.Addins/ChangeLog index ddccb66..5c60e6a 100644 --- a/Mono.Addins/ChangeLog +++ b/Mono.Addins/ChangeLog @@ -1,3 +1,11 @@ +2008-02-18 Lluis Sanchez Gual <lluis@novell.com> + + * Mono.Addins/AddinRegistry.cs: Allow getting the startup path of the + registry. + * Mono.Addins.Description/AddinDescription.cs: Improve error message. + * Mono.Addins.Database/AddinDatabase.cs: Use the startup patch provided by + the registry, not the global one. + 2008-02-15 Lluis Sanchez Gual <lluis@novell.com> * Mono.Addins/AddinRegistry.cs: Minor fixes. diff --git a/Mono.Addins/Mono.Addins.Database/AddinDatabase.cs b/Mono.Addins/Mono.Addins.Database/AddinDatabase.cs index ae3f876..aa39800 100644 --- a/Mono.Addins/Mono.Addins.Database/AddinDatabase.cs +++ b/Mono.Addins/Mono.Addins.Database/AddinDatabase.cs @@ -783,7 +783,7 @@ namespace Mono.Addins.Database try { if (monitor.LogLevel > 1) monitor.Log ("Looking for addins"); - SetupProcess.ExecuteCommand (scanMonitor, registry.RegistryPath, AddinManager.StartupDirectory, "scan", (string[]) pparams.ToArray (typeof(string))); + SetupProcess.ExecuteCommand (scanMonitor, registry.RegistryPath, registry.StartupDirectory, "scan", (string[]) pparams.ToArray (typeof(string))); retry = false; } catch (Exception ex) { @@ -1029,7 +1029,7 @@ namespace Mono.Addins.Database public void ParseAddin (IProgressStatus progressStatus, string file, string outFile, bool inProcess) { if (!inProcess) { - SetupProcess.ExecuteCommand (progressStatus, registry.RegistryPath, AddinManager.StartupDirectory, "get-desc", Path.GetFullPath (file), outFile); + SetupProcess.ExecuteCommand (progressStatus, registry.RegistryPath, registry.StartupDirectory, "get-desc", Path.GetFullPath (file), outFile); return; } diff --git a/Mono.Addins/Mono.Addins.Description/AddinDescription.cs b/Mono.Addins/Mono.Addins.Description/AddinDescription.cs index a265169..2f7b545 100644 --- a/Mono.Addins/Mono.Addins.Description/AddinDescription.cs +++ b/Mono.Addins/Mono.Addins.Description/AddinDescription.cs @@ -610,9 +610,9 @@ namespace Mono.Addins.Description if (bp != null) { foreach (string file in AllFiles) { - string asmFile = Path.Combine (BasePath, file); + string asmFile = Path.Combine (bp, file); if (!File.Exists (asmFile)) - errors.Add ("The file '" + file + "' referenced in the manifest could not be found."); + errors.Add ("The file '" + asmFile + "' referenced in the manifest could not be found."); } } diff --git a/Mono.Addins/Mono.Addins/AddinRegistry.cs b/Mono.Addins/Mono.Addins/AddinRegistry.cs index 604c523..721c19d 100644 --- a/Mono.Addins/Mono.Addins/AddinRegistry.cs +++ b/Mono.Addins/Mono.Addins/AddinRegistry.cs @@ -61,8 +61,9 @@ namespace Mono.Addins addinDirs.Add (DefaultAddinsFolder); // Get the domain corresponding to the startup folder - if (startupDirectory != null) { + if (startupDirectory != null && startupDirectory.Length > 0) { this.startupDirectory = startupDirectory; + addinDirs.Add (startupDirectory); currentDomain = database.GetFolderDomain (null, startupDirectory); } else currentDomain = AddinDatabase.GlobalDomain; @@ -233,6 +234,17 @@ namespace Mono.Addins internal StringCollection AddinDirectories { get { return addinDirs; } } + + internal string StartupDirectory { + get { + return startupDirectory; + } + } + + public void RegisterAddinRoot (string hostFile) + { + CreateHostAddinsFile (hostFile); + } internal bool CreateHostAddinsFile (string hostFile) { |