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

Caolán McNamara caolanm at redhat.com
Tue Jun 7 20:03:12 UTC 2016


 sc/source/ui/miscdlgs/solverutil.cxx |   35 +++++++++++++++++++++--------------
 1 file changed, 21 insertions(+), 14 deletions(-)

New commits:
commit 24f1beffe30e68ad6f19ced885dbee0ba99a7b75
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Tue Jun 7 10:05:35 2016 +0100

    Resolves: tdf#88237 crash without java but with nlp solver installed
    
    Change-Id: Ifb451c299e4586a3a38c83a3111f3ac0b46d9315
    (cherry picked from commit a33d18c1e38dd783e779ca1dbf54e1ad90cae751)
    (cherry picked from commit 07c32ba5f81a3d2ed66ee182b8a7772d20c4266f)
    Reviewed-on: https://gerrit.libreoffice.org/26007
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Katarina Behrens <Katarina.Behrens at cib.de>

diff --git a/sc/source/ui/miscdlgs/solverutil.cxx b/sc/source/ui/miscdlgs/solverutil.cxx
index e047cb9..b7a19f4 100644
--- a/sc/source/ui/miscdlgs/solverutil.cxx
+++ b/sc/source/ui/miscdlgs/solverutil.cxx
@@ -65,20 +65,27 @@ void ScSolverUtil::GetImplementations( uno::Sequence<OUString>& rImplNames,
                         OUString sName = xInfo->getImplementationName();
                         OUString sDescription;
 
-                        uno::Reference<sheet::XSolver> xSolver(
-                                xCFac->createInstanceWithContext(xCtx), uno::UNO_QUERY );
-                        uno::Reference<sheet::XSolverDescription> xDesc( xSolver, uno::UNO_QUERY );
-                        if ( xDesc.is() )
-                            sDescription = xDesc->getComponentDescription();
-
-                        if ( sDescription.isEmpty() )
-                            sDescription = sName;          // use implementation name if no description available
-
-                        rImplNames.realloc( nCount+1 );
-                        rImplNames[nCount] = sName;
-                        rDescriptions.realloc( nCount+1 );
-                        rDescriptions[nCount] = sDescription;
-                        ++nCount;
+                        try
+                        {
+                            uno::Reference<sheet::XSolver> xSolver(
+                                    xCFac->createInstanceWithContext(xCtx), uno::UNO_QUERY );
+                            uno::Reference<sheet::XSolverDescription> xDesc( xSolver, uno::UNO_QUERY );
+                            if ( xDesc.is() )
+                                sDescription = xDesc->getComponentDescription();
+
+                            if ( sDescription.isEmpty() )
+                                sDescription = sName;          // use implementation name if no description available
+
+                            rImplNames.realloc( nCount+1 );
+                            rImplNames[nCount] = sName;
+                            rDescriptions.realloc( nCount+1 );
+                            rDescriptions[nCount] = sDescription;
+                            ++nCount;
+                        }
+                        catch (const css::uno::Exception& e)
+                        {
+                            SAL_INFO("sc", "ScSolverUtil::GetImplementations: cannot instantiate: " << sName << ", because: " << e.Message);
+                        }
                     }
                 }
             }


More information about the Libreoffice-commits mailing list