[Libreoffice-commits] core.git: sc/source

Michael Meeks michael.meeks at collabora.com
Thu Mar 27 02:48:27 PDT 2014


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

New commits:
commit 3ca1411772eb74a1cbfb00976f077f804684d9fb
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

diff --git a/sc/source/core/tool/addincol.cxx b/sc/source/core/tool/addincol.cxx
index 82fd137..77f6795 100644
--- a/sc/source/core/tool/addincol.cxx
+++ b/sc/source/core/tool/addincol.cxx
@@ -593,11 +593,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