summary refs log tree commit diff
path: root/pkgs/applications/misc/keepass/keepass-plugins.patch
diff options
context:
space:
mode:
authorMarcin Janczyk <m@dragonvr.pl>2016-09-15 22:24:36 +0200
committerMarcin Janczyk <m@dragonvr.pl>2016-09-15 22:24:36 +0200
commit5cbda617915a8eabe598238134ea5fbccaee5a78 (patch)
tree3af65d92687f1716d6069a75c6aecc521e2ff2f9 /pkgs/applications/misc/keepass/keepass-plugins.patch
parent51314631d6ee153dab70d99f7a08f04a89d23c5e (diff)
downloadnixpkgs-5cbda617915a8eabe598238134ea5fbccaee5a78.tar
nixpkgs-5cbda617915a8eabe598238134ea5fbccaee5a78.tar.gz
nixpkgs-5cbda617915a8eabe598238134ea5fbccaee5a78.tar.bz2
nixpkgs-5cbda617915a8eabe598238134ea5fbccaee5a78.tar.lz
nixpkgs-5cbda617915a8eabe598238134ea5fbccaee5a78.tar.xz
nixpkgs-5cbda617915a8eabe598238134ea5fbccaee5a78.tar.zst
nixpkgs-5cbda617915a8eabe598238134ea5fbccaee5a78.zip
keepass: 2.33 -> 2.34
Diffstat (limited to 'pkgs/applications/misc/keepass/keepass-plugins.patch')
-rw-r--r--pkgs/applications/misc/keepass/keepass-plugins.patch46
1 files changed, 39 insertions, 7 deletions
diff --git a/pkgs/applications/misc/keepass/keepass-plugins.patch b/pkgs/applications/misc/keepass/keepass-plugins.patch
index 1a32d77806a..1793f04a170 100644
--- a/pkgs/applications/misc/keepass/keepass-plugins.patch
+++ b/pkgs/applications/misc/keepass/keepass-plugins.patch
@@ -1,13 +1,45 @@
 --- old/KeePass/Forms/MainForm.cs
 +++ new/KeePass/Forms/MainForm.cs
-@@ -384,9 +384,$OUTPUT_LC$ @@ namespace KeePass.Forms
- 			m_pluginManager.Initialize(m_pluginDefaultHost);
- 
+@@ -386,42 +386,$OUTPUT_LC$ @@ namespace KeePass.Forms
  			m_pluginManager.UnloadAllPlugins();
--			if(AppPolicy.Current.Plugins)
--				m_pluginManager.LoadAllPlugins(UrlUtil.GetFileDirectory(
--					WinUtil.GetExecutable(), false, true));
-+			if(AppPolicy.Current.Plugins) {
+ 			if(AppPolicy.Current.Plugins)
+ 			{
+-				string[] vExclNames = new string[] {
+-					AppDefs.FileNames.Program, AppDefs.FileNames.XmlSerializers,
+-					AppDefs.FileNames.NativeLib32, AppDefs.FileNames.NativeLib64,
+-					AppDefs.FileNames.ShInstUtil
+-				};
+-
+-				string strPlgRoot = UrlUtil.GetFileDirectory(
+-					WinUtil.GetExecutable(), false, true);
+-				m_pluginManager.LoadAllPlugins(strPlgRoot, SearchOption.TopDirectoryOnly,
+-					vExclNames);
+-
+-				if(!NativeLib.IsUnix())
+-				{
+-					string strPlgSub = UrlUtil.EnsureTerminatingSeparator(strPlgRoot,
+-						false) + AppDefs.PluginsDir;
+-					m_pluginManager.LoadAllPlugins(strPlgSub, SearchOption.AllDirectories,
+-						vExclNames);
+-				}
+-				else // Unix
+-				{
+-					try
+-					{
+-						DirectoryInfo diPlgRoot = new DirectoryInfo(strPlgRoot);
+-						foreach(DirectoryInfo diSub in diPlgRoot.GetDirectories())
+-						{
+-							if(diSub == null) { Debug.Assert(false); continue; }
+-
+-							if(string.Equals(diSub.Name, AppDefs.PluginsDir,
+-								StrUtil.CaseIgnoreCmp))
+-								m_pluginManager.LoadAllPlugins(diSub.FullName,
+-									SearchOption.AllDirectories, vExclNames);
+-						}
+-					}
+-					catch(Exception) { Debug.Assert(false); }
+-				}
+-			}
 $DO_LOADS$+			}
  
  			// Delete old files *after* loading plugins (when timestamps