Browse Source

Fixup 37d0d5f1 to pass env vars correctly

pcb_db
Jon Evans 9 months ago
parent
commit
25e7b29ad1
  1. 12
      common/api/api_plugin_manager.cpp

12
common/api/api_plugin_manager.cpp

@ -253,15 +253,27 @@ void API_PLUGIN_MANAGER::InvokeAction( const wxString& aIdentifier )
return;
}
std::optional<wxString> pythonHome =
PYTHON_MANAGER::GetPythonEnvironment( plugin.Identifier() );
PYTHON_MANAGER manager( *py );
wxExecuteEnv env;
wxGetEnvMap( &env.env );
env.env[wxS( "KICAD_API_SOCKET" )] = Pgm().GetApiServer().SocketPath();
env.env[wxS( "KICAD_API_TOKEN" )] = Pgm().GetApiServer().Token();
env.cwd = pluginFile.GetPath();
#ifdef _WIN32
wxString systemRoot;
wxGetEnv( wxS( "SYSTEMROOT" ), &systemRoot );
env.env[wxS( "SYSTEMROOT" )] = systemRoot;
env.env.erase( "PYTHONHOME" );
env.env.erase( "PYTHONPATH" );
#endif
if( pythonHome )
env.env[wxS( "VIRTUAL_ENV" )] = *pythonHome;
manager.Execute( pluginFile.GetFullPath(),
[]( int aRetVal, const wxString& aOutput, const wxString& aError )

Loading…
Cancel
Save