summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2018-03-26 09:32:14 +0100
committerCaolán McNamara <caolanm@redhat.com>2018-03-26 13:22:16 +0200
commitef59333842a4833c4bcebe33f49e96f11f15275c (patch)
treeaf4f20111876a77d0d6471231de50dcb8bed777d
parentc58b9298aa6e14891dd578bbde3e3e351d8f00f1 (diff)
forcepoint #31 survive missing control model
Change-Id: I37e4af560b46b4f6d9e0b87fe58493818f366d3c Reviewed-on: https://gerrit.libreoffice.org/51857 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r--oox/source/ole/vbacontrol.cxx10
1 files changed, 8 insertions, 2 deletions
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<AxTabStripModel*> ( (*it)->mxCtrlModel.get() );
+ AxTabStripModel* pTabStrip = static_cast<AxTabStripModel*>(elem.get());
sCaptions = pTabStrip->maItems;
pMultiPage->mnActiveTab = pTabStrip->mnListIndex;
pMultiPage->mnTabStyle = pTabStrip->mnTabStyle;