From 7032b0374801d7e2621c221ce43f409855a901d6 Mon Sep 17 00:00:00 2001 From: Scott Kostyshak Date: Sat, 4 Apr 2015 13:39:42 -0400 Subject: [PATCH] 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 --- src/support/Systemcall.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/support/Systemcall.cpp b/src/support/Systemcall.cpp index 9327613dfd..2f277f6b9e 100644 --- a/src/support/Systemcall.cpp +++ b/src/support/Systemcall.cpp @@ -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(); } -- 2.39.5