filter/source/msfilter/msdffimp.cxx | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-)
New commits: commit cd1613eb5fcdd7f5a1176a3f8c4be9447b97c5b1 Author: Caolán McNamara <caol...@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 <mst...@redhat.com> Tested-by: Michael Stahl <mst...@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))
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits