commit 0d565f7b350b4dfecfa9337b4b80173282d191ab
Author: Jean-Marc Lasgouttes <[email protected]>
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.
---
src/LyX.cpp | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/LyX.cpp b/src/LyX.cpp
index bb88f82..0a0a319 100644
--- a/src/LyX.cpp
+++ b/src/LyX.cpp
@@ -419,8 +419,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) {