[Libreoffice-commits] core.git: Branch 'libreoffice-5-1' - ucb/source

Caolán McNamara caolanm at redhat.com
Fri Jun 3 08:50:32 UTC 2016


 ucb/source/ucp/tdoc/tdoc_docmgr.cxx |   17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

New commits:
commit f6ffb68e7fe9183bc7406341934bc8c55b3192df
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Fri Jun 3 08:48:20 2016 +0100

    Resolves: tdf#55566 opening two docs with open document macro events can crash
    
    OfficeDocumentsManager::buildDocumentsList was set up to ignore disposed
    documents, but didn't ignore documents which were still uninitialized (i.e.
    waiting for the macro warning dialog of the other in-construction document to
    return a decision)
    
    (cherry picked from commit 9334aa604f73bf659088c6a1cacba854cfdee5e4)
    (cherry picked from commit 63c54ea482ad11b5fcb883f1583c62456cf34ba5)
    
    Change-Id: I936e29ab6fad14a33609e8d57d11d7d0178075e4
    Reviewed-on: https://gerrit.libreoffice.org/25854
    Reviewed-by: Lionel Elie Mamane <lionel at mamane.lu>
    Tested-by: Lionel Elie Mamane <lionel at mamane.lu>

diff --git a/ucb/source/ucp/tdoc/tdoc_docmgr.cxx b/ucb/source/ucp/tdoc/tdoc_docmgr.cxx
index 17f727b..004ef56 100644
--- a/ucb/source/ucp/tdoc/tdoc_docmgr.cxx
+++ b/ucb/source/ucp/tdoc/tdoc_docmgr.cxx
@@ -40,6 +40,7 @@
 #include "com/sun/star/frame/XStorable.hpp"
 #include "com/sun/star/frame/ModuleManager.hpp"
 #include "com/sun/star/lang/DisposedException.hpp"
+#include "com/sun/star/lang/NotInitializedException.hpp"
 #include "com/sun/star/util/XCloseBroadcaster.hpp"
 
 #include "tdoc_docmgr.hxx"
@@ -424,12 +425,8 @@ void SAL_CALL OfficeDocumentsManager::documentEventOccured(
     }
 }
 
-
-
 // lang::XDocumentEventListener (base of document::XDocumentEventListener)
 
-
-
 // virtual
 void SAL_CALL OfficeDocumentsManager::disposing(
         const lang::EventObject& /*Source*/ )
@@ -437,12 +434,8 @@ void SAL_CALL OfficeDocumentsManager::disposing(
 {
 }
 
-
-
 // Non-interface.
 
-
-
 void OfficeDocumentsManager::buildDocumentsList()
 {
     uno::Reference< container::XEnumeration > xEnum
@@ -508,12 +501,16 @@ void OfficeDocumentsManager::buildDocumentsList()
         catch ( lang::DisposedException const & )
         {
             // Note: Due to race conditions the XEnumeration can
-            //       contains docs that already have been closed
+            //       contain docs that have already been closed
+        }
+        catch ( lang::NotInitializedException const & )
+        {
+            // Note: Due to race conditions the XEnumeration can
+            //       contain docs that are still uninitialized
         }
     }
 }
 
-
 uno::Reference< embed::XStorage >
 OfficeDocumentsManager::queryStorage( const OUString & rDocId )
 {


More information about the Libreoffice-commits mailing list