[Libreoffice-commits] core.git: Branch 'libreoffice-5-4' - filter/source
Caolán McNamara
caolanm at redhat.com
Mon Nov 27 09:56:55 UTC 2017
filter/source/msfilter/msdffimp.cxx | 24 ++++++++++++++++--------
1 file changed, 16 insertions(+), 8 deletions(-)
New commits:
commit cd1613eb5fcdd7f5a1176a3f8c4be9447b97c5b1
Author: Caolán McNamara <caolanm at redhat.com>
Date: Sun Nov 26 13:18:04 2017 +0000
ofz#4435 Bad-cast
Change-Id: Ie0364c758af84097cee93e4f6c5e8af2816359d4
Reviewed-on: https://gerrit.libreoffice.org/45287
Reviewed-by: Michael Stahl <mstahl at redhat.com>
Tested-by: Michael Stahl <mstahl at redhat.com>
diff --git a/filter/source/msfilter/msdffimp.cxx b/filter/source/msfilter/msdffimp.cxx
index 443feb8ea728..eadbf3afcc9a 100644
--- a/filter/source/msfilter/msdffimp.cxx
+++ b/filter/source/msfilter/msdffimp.cxx
@@ -4102,11 +4102,15 @@ SdrObject* SvxMSDffManager::ImportGroup( const DffRecordHeader& rHd, SvStream& r
return pRet;
sal_Int32 nShapeId;
SdrObject* pTmp = ImportGroup( aRecHd2, rSt, pClientData, aGroupClientAnchor, aGroupChildAnchor, nCalledByGroup + 1, &nShapeId );
- if ( pTmp && pRet && static_cast<SdrObjGroup*>(pRet)->GetSubList() )
+ if (pTmp)
{
- static_cast<SdrObjGroup*>(pRet)->GetSubList()->NbcInsertObject( pTmp );
- if( nShapeId )
- insertShapeId( nShapeId, pTmp );
+ SdrObjGroup* pGroup = dynamic_cast<SdrObjGroup*>(pRet);
+ if (pGroup && pGroup->GetSubList())
+ {
+ pGroup->GetSubList()->NbcInsertObject(pTmp);
+ if (nShapeId)
+ insertShapeId(nShapeId, pTmp);
+ }
}
}
else if ( aRecHd2.nRecType == DFF_msofbtSpContainer )
@@ -4115,11 +4119,15 @@ SdrObject* SvxMSDffManager::ImportGroup( const DffRecordHeader& rHd, SvStream& r
return pRet;
sal_Int32 nShapeId;
SdrObject* pTmp = ImportShape( aRecHd2, rSt, pClientData, aClientRect, aGlobalChildRect, nCalledByGroup + 1, &nShapeId );
- if ( pTmp && pRet && static_cast<SdrObjGroup*>(pRet)->GetSubList())
+ if (pTmp)
{
- static_cast<SdrObjGroup*>(pRet)->GetSubList()->NbcInsertObject( pTmp );
- if( nShapeId )
- insertShapeId( nShapeId, pTmp );
+ SdrObjGroup* pGroup = dynamic_cast<SdrObjGroup*>(pRet);
+ if (pGroup && pGroup->GetSubList())
+ {
+ pGroup->GetSubList()->NbcInsertObject(pTmp);
+ if (nShapeId)
+ insertShapeId(nShapeId, pTmp);
+ }
}
}
if (!aRecHd2.SeekToEndOfRecord(rSt))
More information about the Libreoffice-commits
mailing list