diff options
author | Lluis Sanchez <llsan@microsoft.com> | 2019-09-13 20:16:07 +0300 |
---|---|---|
committer | Lluis Sanchez <llsan@microsoft.com> | 2019-09-13 20:16:35 +0300 |
commit | fc2fb5d53a69e64f2b8ba16c5f495d2a28de53ab (patch) | |
tree | 97322ba4232bce1e0f69365f3408bbfb831d56dc | |
parent | 7e3cff2085964a6677517bb84f1590cb70052ab5 (diff) |
Fix consistency check
The previous fails when initializing the engine and there is no add-in
cache created. The enabled status consistency check is now done
after updating the db, and always using the registry's current domain.
-rw-r--r-- | Mono.Addins/Mono.Addins.Database/AddinDatabase.cs | 9 | ||||
-rw-r--r-- | Mono.Addins/Mono.Addins/AddinRegistry.cs | 2 |
2 files changed, 5 insertions, 6 deletions
diff --git a/Mono.Addins/Mono.Addins.Database/AddinDatabase.cs b/Mono.Addins/Mono.Addins.Database/AddinDatabase.cs index 7d5a1d2..9b81807 100644 --- a/Mono.Addins/Mono.Addins.Database/AddinDatabase.cs +++ b/Mono.Addins/Mono.Addins.Database/AddinDatabase.cs @@ -548,13 +548,13 @@ namespace Mono.Addins.Database addinEngine.UnloadAddin (id); } - public void UpdateEnabledStatus (string domain) + public void UpdateEnabledStatus () { // Ensure that all enabled addins that have dependencies also have their dependencies enabled. HashSet<Addin> updatedAddins = new HashSet<Addin> (); - var allAddins = GetInstalledAddins (domain, AddinSearchFlagsInternal.IncludeAddins | AddinSearchFlagsInternal.LatestVersionsOnly).ToList (); + var allAddins = GetInstalledAddins (registry.CurrentDomain, AddinSearchFlagsInternal.IncludeAddins | AddinSearchFlagsInternal.LatestVersionsOnly).ToList (); foreach (Addin addin in allAddins) - UpdateEnabledStatus (domain, addin, allAddins, updatedAddins); + UpdateEnabledStatus (registry.CurrentDomain, addin, allAddins, updatedAddins); } void UpdateEnabledStatus (string domain, Addin addin, List<Addin> allAddins, HashSet<Addin> updatedAddins) @@ -1157,8 +1157,9 @@ namespace Mono.Addins.Database } } } + UpdateEnabledStatus (); } - + void RunPendingUninstalls (IProgressStatus monitor) { bool changesDone = false; diff --git a/Mono.Addins/Mono.Addins/AddinRegistry.cs b/Mono.Addins/Mono.Addins/AddinRegistry.cs index 1efeb1c..f51b4db 100644 --- a/Mono.Addins/Mono.Addins/AddinRegistry.cs +++ b/Mono.Addins/Mono.Addins/AddinRegistry.cs @@ -220,8 +220,6 @@ namespace Mono.Addins currentDomain = database.GetFolderDomain (null, this.startupDirectory); } else currentDomain = AddinDatabase.GlobalDomain; - - database.UpdateEnabledStatus (currentDomain); } /// <summary> |