Kaydet (Commit) 1ba34254 authored tarafından Caolán McNamara's avatar Caolán McNamara

ofz#4435 Bad-cast

Change-Id: Ie0364c758af84097cee93e4f6c5e8af2816359d4
Reviewed-on: https://gerrit.libreoffice.org/45286Reviewed-by: 's avatarCaolán McNamara <caolanm@redhat.com>
Tested-by: 's avatarCaolán McNamara <caolanm@redhat.com>
üst bb149908
...@@ -4100,11 +4100,15 @@ SdrObject* SvxMSDffManager::ImportGroup( const DffRecordHeader& rHd, SvStream& r ...@@ -4100,11 +4100,15 @@ SdrObject* SvxMSDffManager::ImportGroup( const DffRecordHeader& rHd, SvStream& r
return pRet; return pRet;
sal_Int32 nShapeId; sal_Int32 nShapeId;
SdrObject* pTmp = ImportGroup( aRecHd2, rSt, pClientData, aGroupClientAnchor, aGroupChildAnchor, nCalledByGroup + 1, &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 ); SdrObjGroup* pGroup = dynamic_cast<SdrObjGroup*>(pRet);
if( nShapeId ) if (pGroup && pGroup->GetSubList())
insertShapeId( nShapeId, pTmp ); {
pGroup->GetSubList()->NbcInsertObject(pTmp);
if (nShapeId)
insertShapeId(nShapeId, pTmp);
}
} }
} }
else if ( aRecHd2.nRecType == DFF_msofbtSpContainer ) else if ( aRecHd2.nRecType == DFF_msofbtSpContainer )
...@@ -4113,11 +4117,15 @@ SdrObject* SvxMSDffManager::ImportGroup( const DffRecordHeader& rHd, SvStream& r ...@@ -4113,11 +4117,15 @@ SdrObject* SvxMSDffManager::ImportGroup( const DffRecordHeader& rHd, SvStream& r
return pRet; return pRet;
sal_Int32 nShapeId; sal_Int32 nShapeId;
SdrObject* pTmp = ImportShape( aRecHd2, rSt, pClientData, aClientRect, aGlobalChildRect, nCalledByGroup + 1, &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 ); SdrObjGroup* pGroup = dynamic_cast<SdrObjGroup*>(pRet);
if( nShapeId ) if (pGroup && pGroup->GetSubList())
insertShapeId( nShapeId, pTmp ); {
pGroup->GetSubList()->NbcInsertObject(pTmp);
if (nShapeId)
insertShapeId(nShapeId, pTmp);
}
} }
} }
if (!aRecHd2.SeekToEndOfRecord(rSt)) if (!aRecHd2.SeekToEndOfRecord(rSt))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment