From 40043080bc5b51db9614aa06486a520c89b6743b Mon Sep 17 00:00:00 2001 From: Jan Holesovsky Date: Tue, 21 Oct 2014 14:26:05 +0200 Subject: [PATCH] vcl button: Avoid a potential crash. Change-Id: I09d0777ef51045054b8e3bc88aba9fb025e6f9ff --- vcl/source/window/builder.cxx | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/vcl/source/window/builder.cxx b/vcl/source/window/builder.cxx index e1e70c603300..f8fad60ec7c9 100644 --- a/vcl/source/window/builder.cxx +++ b/vcl/source/window/builder.cxx @@ -2149,19 +2149,22 @@ Image VclBuilder::getCommandImage(const OUString& rCommand, bool bLarge, uno::Reference xModel(xController->getModel()); uno::Reference xSupplier(xModel, uno::UNO_QUERY); - uno::Reference xDocUICfgMgr(xSupplier->getUIConfigurationManager(), uno::UNO_QUERY); - uno::Reference xDocImgMgr(xDocUICfgMgr->getImageManager(), uno::UNO_QUERY); + if (xSupplier.is()) + { + uno::Reference xDocUICfgMgr(xSupplier->getUIConfigurationManager(), uno::UNO_QUERY); + uno::Reference xDocImgMgr(xDocUICfgMgr->getImageManager(), uno::UNO_QUERY); - uno::Sequence< uno::Reference > aGraphicSeq; - uno::Sequence aImageCmdSeq(1); - aImageCmdSeq[0] = rCommand; + uno::Sequence< uno::Reference > aGraphicSeq; + uno::Sequence aImageCmdSeq(1); + aImageCmdSeq[0] = rCommand; - aGraphicSeq = xDocImgMgr->getImages( nImageType, aImageCmdSeq ); - uno::Reference xGraphic = aGraphicSeq[0]; - Image aImage(xGraphic); + aGraphicSeq = xDocImgMgr->getImages( nImageType, aImageCmdSeq ); + uno::Reference xGraphic = aGraphicSeq[0]; + Image aImage(xGraphic); - if (!!aImage) - return aImage; + if (!!aImage) + return aImage; + } } catch (uno::Exception&) {