diff options
author | Michael Meeks <michael.meeks@suse.com> | 2013-04-05 15:21:33 +0100 |
---|---|---|
committer | Michael Meeks <michael.meeks@suse.com> | 2013-04-05 15:23:21 +0100 |
commit | 7e7302730454aa417f2711024e3a5d9d953add67 (patch) | |
tree | cf6eda9591c6e14013bdeb9cb7db7c50c134792f /sc | |
parent | 0644a20605965b36fcc983e4c1158820fd858726 (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.cxx | 17 |
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" ); } } } |