sc/source/ui/miscdlgs/solverutil.cxx | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-)
New commits: commit 24f1beffe30e68ad6f19ced885dbee0ba99a7b75 Author: Caolán McNamara <caol...@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 <c...@libreoffice.org> Reviewed-by: Katarina Behrens <katarina.behr...@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); + } } } }
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits