embeddedobj/source/general/docholder.cxx |    8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

New commits:
commit 05d1790f746dfb7367a4c79aa43b00457b7b2cc9
Author:     Noel Grandin <noel.gran...@collabora.co.uk>
AuthorDate: Tue Jul 25 15:25:48 2023 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Tue Jul 25 18:26:32 2023 +0200

    tdf#156463 crash on exit after editing a chart (gtk3)
    
    regression from
        commit 1ed765c818af2186e459c5ad0eff24dc39a20d34
        tdf#155235 workaround gtk3 accessiblibility crashes on close
    
    Change-Id: I1a43c7df6394426d8ce09ed382dcc6833dbe1c6b
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154893
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/embeddedobj/source/general/docholder.cxx 
b/embeddedobj/source/general/docholder.cxx
index fe48ec5b2d45..bcac2d08c9e5 100644
--- a/embeddedobj/source/general/docholder.cxx
+++ b/embeddedobj/source/general/docholder.cxx
@@ -233,8 +233,12 @@ void DocumentHolder::CloseFrame()
 
 void DocumentHolder::FreeOffice()
 {
-    uno::Reference< frame::XDesktop2 > xDesktop = frame::Desktop::create( 
m_xContext );
-    xDesktop->removeTerminateListener( this );
+    try {
+        uno::Reference< frame::XDesktop2 > xDesktop = frame::Desktop::create( 
m_xContext );
+        xDesktop->removeTerminateListener( this );
+    } catch (const css::uno::DeploymentException&) {
+        // if this happens, the desktop is already gone
+    }
 
     // the following code is commented out since for now there is still no 
completely correct way to detect
     // whether the office can be terminated, so it is better to have 
unnecessary process running than

Reply via email to