[Libreoffice-commits] core.git: Branch 'libreoffice-4-1' - sc/source

Michael Meeks michael.meeks at collabora.com
Thu Mar 27 11:50:01 PDT 2014


 sc/source/core/tool/addincol.cxx |   16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

New commits:
commit 4d3553cb4d6a8ad439e36a694e788668b4a6003a
Author: Michael Meeks <michael.meeks at collabora.com>
Date:   Thu Mar 27 09:47:55 2014 +0000

    fdo#62155 - don't crash if we can't create an instance of a calc addin.
    
    Change-Id: I478d7777949683a91e7adf9fa6b54e9d01ced676
    Reviewed-on: https://gerrit.libreoffice.org/8771
    Reviewed-by: Eike Rathke <erack at redhat.com>
    Tested-by: Eike Rathke <erack at redhat.com>

diff --git a/sc/source/core/tool/addincol.cxx b/sc/source/core/tool/addincol.cxx
index d5c5401..1aa393c 100644
--- a/sc/source/core/tool/addincol.cxx
+++ b/sc/source/core/tool/addincol.cxx
@@ -602,11 +602,19 @@ void ScUnoAddInCollection::LoadComponent( const ScUnoAddInFuncData& rFuncData )
     {
         OUString aServiceName = aFullName.copy( 0, nPos );
 
-        uno::Reference<lang::XMultiServiceFactory> xServiceFactory = comphelper::getProcessServiceFactory();
-        uno::Reference<uno::XInterface> xInterface( xServiceFactory->createInstance( aServiceName ) );
+        try
+        {
+            uno::Reference<lang::XMultiServiceFactory> xServiceFactory = comphelper::getProcessServiceFactory();
+            uno::Reference<uno::XInterface> xInterface( xServiceFactory->createInstance( aServiceName ) );
 
-        if (xInterface.is())
-            UpdateFromAddIn( xInterface, aServiceName );
+            if (xInterface.is())
+                UpdateFromAddIn( xInterface, aServiceName );
+        }
+        catch (const uno::Exception &)
+        {
+            SAL_WARN ("sc", "Failed to create addin component '"
+                      << aServiceName << "'");
+        }
     }
 }
 


More information about the Libreoffice-commits mailing list