From b53b68c6860fdc011a4e99b10b83aed2dfe239fa Mon Sep 17 00:00:00 2001 From: qu1ck Date: Wed, 16 Feb 2022 22:28:00 -0800 Subject: [PATCH] Fix double loading plugins and sys.path entires multiplying --- pcbnew/python/scripting/pcb_scripting_tool.cpp | 2 +- scripting/kicadplugins.i | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/pcbnew/python/scripting/pcb_scripting_tool.cpp b/pcbnew/python/scripting/pcb_scripting_tool.cpp index 3d422b97a9..fd4fe11745 100644 --- a/pcbnew/python/scripting/pcb_scripting_tool.cpp +++ b/pcbnew/python/scripting/pcb_scripting_tool.cpp @@ -67,7 +67,7 @@ bool SCRIPTING_TOOL::Init() PyDict_SetItemString( sys_mod, "_pcbnew", mod ); Py_DECREF( mod ); - callLoadPlugins(); + // plugins will be loaded later via ReloadPlugins() } return true; diff --git a/scripting/kicadplugins.i b/scripting/kicadplugins.i index c926bd1799..8f5bb235e9 100644 --- a/scripting/kicadplugins.i +++ b/scripting/kicadplugins.i @@ -253,7 +253,8 @@ def LoadPlugins(bundlepath=None, userpath=None, thirdpartypath=None): if not os.path.isdir( plugins_dir ): continue - sys.path.append( plugins_dir ) + if plugins_dir not in sys.path: + sys.path.append( plugins_dir ) for module in os.listdir(plugins_dir): fullPath = os.path.join( plugins_dir, module )