at 17.09-beta 46 lines 1.5 kB view raw
1--- old/KeePass/Forms/MainForm.cs 2+++ new/KeePass/Forms/MainForm.cs 3@@ -386,42 +386,$OUTPUT_LC$ @@ namespace KeePass.Forms 4 m_pluginManager.UnloadAllPlugins(); 5 if(AppPolicy.Current.Plugins) 6 { 7- string[] vExclNames = new string[] { 8- AppDefs.FileNames.Program, AppDefs.FileNames.XmlSerializers, 9- AppDefs.FileNames.NativeLib32, AppDefs.FileNames.NativeLib64, 10- AppDefs.FileNames.ShInstUtil 11- }; 12- 13- string strPlgRoot = UrlUtil.GetFileDirectory( 14- WinUtil.GetExecutable(), false, true); 15- m_pluginManager.LoadAllPlugins(strPlgRoot, SearchOption.TopDirectoryOnly, 16- vExclNames); 17- 18- if(!NativeLib.IsUnix()) 19- { 20- string strPlgSub = UrlUtil.EnsureTerminatingSeparator(strPlgRoot, 21- false) + AppDefs.PluginsDir; 22- m_pluginManager.LoadAllPlugins(strPlgSub, SearchOption.AllDirectories, 23- vExclNames); 24- } 25- else // Unix 26- { 27- try 28- { 29- DirectoryInfo diPlgRoot = new DirectoryInfo(strPlgRoot); 30- foreach(DirectoryInfo diSub in diPlgRoot.GetDirectories()) 31- { 32- if(diSub == null) { Debug.Assert(false); continue; } 33- 34- if(string.Equals(diSub.Name, AppDefs.PluginsDir, 35- StrUtil.CaseIgnoreCmp)) 36- m_pluginManager.LoadAllPlugins(diSub.FullName, 37- SearchOption.AllDirectories, vExclNames); 38- } 39- } 40- catch(Exception) { Debug.Assert(false); } 41- } 42- } 43$DO_LOADS$+ } 44 45 // Delete old files *after* loading plugins (when timestamps 46 // of loaded plugins have been updated already)