commit e4aba6e17c43a182aa41970dd6da8462404dad4f Author: Jean-Marc Lasgouttes <jean-marc.lasgout...@inria.fr> Date: Tue Jul 11 15:28:06 2017 +0200
When cleaning up before quitting, take care of exceptions We do not want the cleanup work to be interrupted by a buffer exception. Spotted by coverity. See bug #9979 for discussion. (cherry picked from commit 0d565f7b350b4dfecfa9337b4b80173282d191ab) --- src/LyX.cpp | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/LyX.cpp b/src/LyX.cpp index d2484d1..a202f5b 100644 --- a/src/LyX.cpp +++ b/src/LyX.cpp @@ -380,8 +380,12 @@ void LyX::prepareExit() // Write the index file of the converter cache ConverterCache::get().writeIndex(); - // close buffers first - pimpl_->buffer_list_.closeAll(); + // closing buffer may throw exceptions, but we ignore them since we + // are quitting. + try { + // close buffers first + pimpl_->buffer_list_.closeAll(); + } catch (ExceptionMessage const &) {} // register session changes and shutdown server and socket if (use_gui) {