summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@suse.com>2013-04-05 15:21:33 +0100
committerMichael Meeks <michael.meeks@suse.com>2013-04-05 15:23:21 +0100
commit7e7302730454aa417f2711024e3a5d9d953add67 (patch)
treecf6eda9591c6e14013bdeb9cb7db7c50c134792f /sc
parent0644a20605965b36fcc983e4c1158820fd858726 (diff)
fdo#62155 - band-aid crash from poor addin registration on upgrade
For some sadly unknown reason we get an exception traversing the calc addins and crashing doesn't seem a great response to that. Change-Id: I8d1eda7c8bab384817f19a86607c7035e4c3a8ab
Diffstat (limited to 'sc')
-rw-r--r--sc/source/core/tool/addincol.cxx17
1 files changed, 4 insertions, 13 deletions
diff --git a/sc/source/core/tool/addincol.cxx b/sc/source/core/tool/addincol.cxx
index 8ab6e75a4423..adf388e3409c 100644
--- a/sc/source/core/tool/addincol.cxx
+++ b/sc/source/core/tool/addincol.cxx
@@ -52,19 +52,8 @@
using namespace com::sun::star;
-//------------------------------------------------------------------------
-
#define SC_CALLERPOS_NONE (-1)
-#define SCADDINSUPPLIER_SERVICE "com.sun.star.sheet.AddIn"
-
-//------------------------------------------------------------------------
-
-
-
-
-//------------------------------------------------------------------------
-
ScUnoAddInFuncData::ScUnoAddInFuncData( const ::rtl::OUString& rNam, const ::rtl::OUString& rLoc,
const ::rtl::OUString& rDesc,
sal_uInt16 nCat, const rtl::OString& sHelp,
@@ -282,8 +271,7 @@ void ScUnoAddInCollection::Initialize()
if ( xEnAc.is() )
{
uno::Reference<container::XEnumeration> xEnum =
- xEnAc->createContentEnumeration(
- rtl::OUString(SCADDINSUPPLIER_SERVICE) );
+ xEnAc->createContentEnumeration( "com.sun.star.sheet.AddIn" );
if ( xEnum.is() )
{
// loop through all AddIns
@@ -291,6 +279,7 @@ void ScUnoAddInCollection::Initialize()
{
uno::Any aAddInAny = xEnum->nextElement();
+ try
{
uno::Reference<uno::XInterface> xIntFac;
aAddInAny >>= xIntFac;
@@ -321,6 +310,8 @@ void ScUnoAddInCollection::Initialize()
}
}
}
+ } catch ( const uno::Exception& ) {
+ SAL_WARN ( "sc", "Failed to initialize create instance of sheet.AddIn" );
}
}
}