From ef59333842a4833c4bcebe33f49e96f11f15275c Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Mon, 26 Mar 2018 09:32:14 +0100 Subject: forcepoint #31 survive missing control model MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I37e4af560b46b4f6d9e0b87fe58493818f366d3c Reviewed-on: https://gerrit.libreoffice.org/51857 Tested-by: Jenkins Reviewed-by: Caolán McNamara Tested-by: Caolán McNamara --- oox/source/ole/vbacontrol.cxx | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'oox') diff --git a/oox/source/ole/vbacontrol.cxx b/oox/source/ole/vbacontrol.cxx index 03ed0e49aa35..51e1b04223c8 100644 --- a/oox/source/ole/vbacontrol.cxx +++ b/oox/source/ole/vbacontrol.cxx @@ -430,7 +430,13 @@ void VbaFormControl::importStorage( StorageBase& rStrg, const AxClassTable& rCla for ( ; it != it_end; ++it ) { - if ( (*it)->mxCtrlModel->getControlType() == API_CONTROL_PAGE ) + auto& elem = (*it)->mxCtrlModel; + if (!elem) + { + SAL_WARN("oox", "empty control model"); + continue; + } + if (elem->getControlType() == API_CONTROL_PAGE) { VbaSiteModelRef xPageSiteRef = (*it)->mxSiteModel; if ( xPageSiteRef.get() ) @@ -438,7 +444,7 @@ void VbaFormControl::importStorage( StorageBase& rStrg, const AxClassTable& rCla } else { - AxTabStripModel* pTabStrip = static_cast ( (*it)->mxCtrlModel.get() ); + AxTabStripModel* pTabStrip = static_cast(elem.get()); sCaptions = pTabStrip->maItems; pMultiPage->mnActiveTab = pTabStrip->mnListIndex; pMultiPage->mnTabStyle = pTabStrip->mnTabStyle; -- cgit