Detect when an external command crashes

This fixes a situation where LyX did not detect that something went
wrong (that an external comman crashed) and reported that export was
successful. To reproduce, use the following version of LuaTeX (the
bug in LuaTeX causing the crash has since been fixed):
LuaTeX, Version beta-0.79.1 (TeX Live 2014) (rev 4971)
Then open FeynmanDiagrams.lyx and export with PDF (LuaTeX).

In the documentation [1] for QProcess::exitCode() it states:
"This value is not valid unless exitStatus() returns NormalExit."

For more information, see:
https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg185317.html

[1] http://doc.qt.io/qt-5/qprocess.html#exitCode
This commit is contained in:
Scott Kostyshak 2015-04-04 13:39:42 -04:00
parent 09700d5b71
commit 7032b03748

View File

@ -610,6 +610,10 @@ int SystemcallPrivate::exitCode()
if (!process_)
return -1;
// From Qt's documentation, in regards to QProcess::exitCode(),
// "This value is not valid unless exitStatus() returns NormalExit"
if (process_->exitStatus() != QProcess::NormalExit)
return -1;
return process_->exitCode();
}