]> git.lyx.org Git - features.git/commitdiff
When cleaning up before quitting, take care of exceptions
authorJean-Marc Lasgouttes <jean-marc.lasgouttes@inria.fr>
Tue, 11 Jul 2017 13:28:06 +0000 (15:28 +0200)
committerJean-Marc Lasgouttes <lasgouttes@lyx.org>
Mon, 17 Jul 2017 08:49:50 +0000 (10:49 +0200)
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

index d2484d152e1f25195eeca966702258200a77744d..a202f5b44337b9d11e99594a674a491851cee0ea 100644 (file)
@@ -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) {