Kaydet (Commit) f0bc9c2e authored tarafından Armin Le Grand's avatar Armin Le Grand

Corrected bad handling of loading draw objects in calc application

üst aa4649b8
......@@ -319,8 +319,10 @@ XclImpDrawObjBase::~XclImpDrawObjBase()
{
sal_uInt16 nSubRecId, nSubRecSize, nObjType;
rStrm >> nSubRecId >> nSubRecSize >> nObjType;
DBG_ASSERT( nSubRecId == EXC_ID_OBJCMO, "XclImpDrawObjBase::ReadObj8 - OBJCMO subrecord expected" );
if( (nSubRecId == EXC_ID_OBJCMO) && (nSubRecSize >= 6) )
if(EXC_ID_OBJCMO == nSubRecId)
{
if( (nSubRecSize >= 6) )
{
switch( nObjType )
{
......@@ -363,9 +365,15 @@ XclImpDrawObjBase::~XclImpDrawObjBase()
xDrawObj.reset( new XclImpPhObj( rRoot ) );
}
}
}
xDrawObj->ImplReadObj8( rStrm );
}
else
{
DBG_ASSERT(false, "XclImpDrawObjBase::ReadObj8 - OBJCMO subrecord expected" );
}
}
return xDrawObj;
}
......@@ -3866,9 +3874,17 @@ void XclImpDrawing::ReadDffRecord( XclImpStream& rStrm )
void XclImpDrawing::ReadObj8( XclImpStream& rStrm )
{
XclImpDrawObjRef xDrawObj = XclImpDrawObjBase::ReadObj8( GetRoot(), rStrm );
if(xDrawObj.is())
{
// store the new object in the internal containers
maObjMap[ maDffStrm.Tell() ] = xDrawObj;
maObjMapId[ xDrawObj->GetObjId() ] = xDrawObj;
}
else
{
OSL_ENSURE(false, "DrawObj could not be loaded (!)");
}
}
void XclImpDrawing::ReadTxo( XclImpStream& rStrm )
......
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