- QString cmd = QString::fromLocal8Bit(
- parsecmd(what, outfile, errfile).c_str());
-
- SystemcallPrivate d(outfile, errfile);
-
-
- d.startProcess(cmd, path);
+ QString const cmd = QString::fromLocal8Bit(
+ parsecmd(what_ss, infile, outfile, errfile).c_str());
+
+ SystemcallPrivate d(infile, outfile, errfile);
+
+#ifdef Q_OS_WIN32
+ // QProcess::startDetached cannot provide environment variables. When the
+ // environment variables are set using the latexEnvCmdPrefix and the process
+ // is started with QProcess::startDetached, a console window is shown every
+ // time a viewer is started. To avoid this, we fall back on Windows to the
+ // original implementation that creates a QProcess object.
+ d.startProcess(cmd, path, lpath, false);