FreeCAD: master 9816e48b

Author Committer Branch Timestamp Parent
blacey wmayer master 2016-03-19 18:12:15 master 5393196c
Changeset Propagate sys.exit(code) up the call stack to the shell

SystemExitException is instantiated and thrown by Base::Interpreter
whenever the python interpreter executes a sys.exit(<exitCode>) call.
However, in the current implementation, the SystemExitException
effectively swallows the <exitCode> hence under this change,
SystemExitException has been extended to save the <exitCode> passed to
the sys.exit() call when it is instantiated and provides a new
getExitCode() accessor method to retrieve the <exitCode> in a
try/catch block. MainGui.cpp was change to pass the corresponding
<exitCode> to the system exit() call so it is accessible in the shell.
mod - src/Base/Interpreter.cpp Diff File
mod - src/Base/Interpreter.h Diff File
mod - src/Main/MainGui.cpp Diff File