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