#106213# empty escher stream broken

This commit is contained in:
Daniel Rentz 2002-12-12 12:14:21 +00:00
parent c81f957efa
commit bede01bf1c
2 changed files with 19 additions and 20 deletions

View file

@ -2,9 +2,9 @@
*
* $RCSfile: excdoc.cxx,v $
*
* $Revision: 1.41 $
* $Revision: 1.42 $
*
* last change: $Author: jmarmion $ $Date: 2002-12-10 14:07:24 $
* last change: $Author: dr $ $Date: 2002-12-12 13:13:54 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@ -83,8 +83,6 @@
#include <tools/urlobj.hxx>
#include <rtl/ustring>
#include "drwlayer.hxx"
#include "cell.hxx"
#include "dociter.hxx"
#include "document.hxx"
@ -992,13 +990,7 @@ void ExcTable::FillAsTable( void )
}
else
{
ScDrawLayer* pDrawLayer = rDoc.GetDrawLayer();
if( pDrawLayer )
{
SdrPage* pPage = pDrawLayer->GetPage( nScTab );
if( pPage )
rR.pEscher->GetEx()->AddSdrPage( *pPage );
}
rR.pEscher->AddSdrPage( rR );
//! close Escher group shape and ESCHER_DgContainer
//! opened by XclObjList ctor MSODRAWING
rR.pObjRecs->EndSheet();
@ -1126,13 +1118,7 @@ void ExcTable::NullTab( const String* pCodename )
// create at least the MSODRAWING per-sheet data
rR.pObjRecs = new XclObjList( rR );
// all drawing obects
ScDrawLayer* pDrawLayer = pExcRoot->pDoc->GetDrawLayer();
if ( pDrawLayer )
{
SdrPage* pPage = pDrawLayer->GetPage( nScTab );
if ( pPage )
rR.pEscher->GetEx()->AddSdrPage( *pPage );
}
rR.pEscher->AddSdrPage( rR );
//! close Escher group shape and ESCHER_DgContainer
//! opened by XclObjList ctor MSODRAWING
rR.pObjRecs->EndSheet();

View file

@ -2,9 +2,9 @@
*
* $RCSfile: xcl97esc.cxx,v $
*
* $Revision: 1.5 $
* $Revision: 1.6 $
*
* last change: $Author: dr $ $Date: 2002-11-21 12:22:29 $
* last change: $Author: dr $ $Date: 2002-12-12 13:14:21 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@ -99,6 +99,7 @@
#include "global.hxx"
#include "document.hxx"
#include "drwlayer.hxx"
#include "xcl97esc.hxx"
#include "xcl97rec.hxx"
@ -370,6 +371,18 @@ XclEscher::~XclEscher()
}
void XclEscher::AddSdrPage( RootData& rRootData )
{
if( ScDrawLayer* pDrawLayer = rRootData.pDoc->GetDrawLayer() )
if( SdrPage* pPage = pDrawLayer->GetPage( rRootData.pER->GetScTab() ) )
pEx->AddSdrPage( *pPage );
// #106213# the first dummy object may still be open
DBG_ASSERT( pEx->GetGroupLevel() <= 1, "XclEscher::AddSdrPage - still groups open?" );
while( pEx->GetGroupLevel() )
pEx->LeaveGroup();
}
// --- class XclEscherClientAnchor -----------------------------------
XclEscherClientAnchor::XclEscherClientAnchor( RootData& rRoot, UINT16 nFlagP )