From 73256b918119e378c762f6a3d79d04f311a075cc Mon Sep 17 00:00:00 2001 From: Tor Lillqvist Date: Thu, 8 Feb 2018 19:31:20 +0200 Subject: Decrease fragility in odd use cases with no current document Change-Id: I9966166561d4c6e577f3f7e8e04572f97a0b295e Reviewed-on: https://gerrit.libreoffice.org/49450 Tested-by: Jenkins Reviewed-by: Tor Lillqvist --- vbahelper/source/vbahelper/vbaapplicationbase.cxx | 8 ++++++-- vbahelper/source/vbahelper/vbahelper.cxx | 8 +++++++- 2 files changed, 13 insertions(+), 3 deletions(-) (limited to 'vbahelper') diff --git a/vbahelper/source/vbahelper/vbaapplicationbase.cxx b/vbahelper/source/vbahelper/vbaapplicationbase.cxx index 753a389e5bb6..25e91647694b 100644 --- a/vbahelper/source/vbahelper/vbaapplicationbase.cxx +++ b/vbahelper/source/vbahelper/vbaapplicationbase.cxx @@ -184,7 +184,9 @@ VbaApplicationBase::~VbaApplicationBase() sal_Bool SAL_CALL VbaApplicationBase::getScreenUpdating() { - uno::Reference< frame::XModel > xModel( getCurrentDocument(), uno::UNO_QUERY_THROW ); + uno::Reference< frame::XModel > xModel = getCurrentDocument(); + if (!xModel.is()) + return false; return !xModel->hasControllersLocked(); } @@ -238,7 +240,9 @@ VbaApplicationBase::setDisplayStatusBar(sal_Bool bDisplayStatusBar) sal_Bool SAL_CALL VbaApplicationBase::getInteractive() { - uno::Reference< frame::XModel > xModel( getCurrentDocument(), uno::UNO_QUERY_THROW ); + uno::Reference< frame::XModel > xModel = getCurrentDocument(); + if (!xModel.is()) + return false; uno::Reference< frame::XFrame > xFrame( xModel->getCurrentController()->getFrame(), uno::UNO_QUERY_THROW ); uno::Reference< awt::XWindow2 > xWindow( xFrame->getContainerWindow(), uno::UNO_QUERY_THROW ); diff --git a/vbahelper/source/vbahelper/vbahelper.cxx b/vbahelper/source/vbahelper/vbahelper.cxx index 2471add85ce5..b7432c59935c 100644 --- a/vbahelper/source/vbahelper/vbahelper.cxx +++ b/vbahelper/source/vbahelper/vbahelper.cxx @@ -277,7 +277,13 @@ getCurrentWordDoc( const uno::Reference< uno::XComponentContext >& xContext ) } catch (const uno::Exception&) { - xModel = getThisWordDoc( xContext ); + try + { + xModel = getThisWordDoc( xContext ); + } + catch (const uno::Exception&) + { + } } return xModel; } -- cgit