Comment 35 for bug 1662531

Revision history for this message
Alvin Penner (apenner) wrote :

I am probably going to display my ignorance here, but there appears to be a discrepancy between these two calls.
The glibmm documentation shows 9 arguments, as in:

void Glib::spawn_async_with_pipes ( const std::string & working_directory,
  const Glib::ArrayHandle< std::string >& argv,
  const Glib::ArrayHandle< std::string >& envp,
  SpawnFlags flags = SPAWN_DEFAULT,
  const SlotSpawnChildSetup& child_setup = SlotSpawnChildSetup(),
  Pid* child_pid = nullptr,
  int * standard_input = nullptr,
  int * standard_output = nullptr,
  int * standard_error = nullptr
 )

The Inkscape call in script.cpp shows 8 arguments, as in:

Glib::spawn_async_with_pipes(working_directory, // working directory
                             argv, // arg v
                             static_cast<Glib::SpawnFlags>(0), // no flags
                             sigc::slot<void>(),
                             &_pid, // Pid
                             NULL, // STDIN
                             &stdout_pipe, // STDOUT
                             &stderr_pipe); // STDERR

The argument that is supposed to be the environment, envp, appears to be 0 (no flags)