Kaydet (Commit) 5676e088 authored tarafından khz's avatar khz

#79474# Save/restore PLCF state before/after reading header or footer data

üst af57106b
...@@ -2,9 +2,9 @@ ...@@ -2,9 +2,9 @@
* *
* $RCSfile: ww8par.cxx,v $ * $RCSfile: ww8par.cxx,v $
* *
* $Revision: 1.3 $ * $Revision: 1.4 $
* *
* last change: $Author: jp $ $Date: 2000-11-20 14:11:52 $ * last change: $Author: khz $ $Date: 2000-11-23 13:37:53 $
* *
* The Contents of this file are made available subject to the terms of * The Contents of this file are made available subject to the terms of
* either of the following licenses * either of the following licenses
...@@ -648,6 +648,7 @@ WW8ReaderSave::WW8ReaderSave( SwWW8ImplReader* pRdr ,WW8_CP nStartCp) ...@@ -648,6 +648,7 @@ WW8ReaderSave::WW8ReaderSave( SwWW8ImplReader* pRdr ,WW8_CP nStartCp)
bTableInApo = pRdr->bTableInApo; bTableInApo = pRdr->bTableInApo;
bAnl = pRdr->bAnl; bAnl = pRdr->bAnl;
nAktColl = pRdr->nAktColl; nAktColl = pRdr->nAktColl;
nNoAttrScan = pRdr->pSBase->GetNoAttrScan();
// Tracking beginnt neu // Tracking beginnt neu
pRdr->bHdFtFtnEdn = TRUE; pRdr->bHdFtFtnEdn = TRUE;
...@@ -673,6 +674,7 @@ WW8ReaderSave::WW8ReaderSave( SwWW8ImplReader* pRdr ,WW8_CP nStartCp) ...@@ -673,6 +674,7 @@ WW8ReaderSave::WW8ReaderSave( SwWW8ImplReader* pRdr ,WW8_CP nStartCp)
if (nStartCp != -1) if (nStartCp != -1)
pRdr->pPlcxMan = new WW8PLCFMan( pRdr->pSBase, pRdr->pPlcxMan = new WW8PLCFMan( pRdr->pSBase,
pOldPlcxMan->GetManType(), nStartCp ); pOldPlcxMan->GetManType(), nStartCp );
pRdr->pSBase->SetNoAttrScan( 0 );
} }
void WW8ReaderSave::Restore( SwWW8ImplReader* pRdr ) void WW8ReaderSave::Restore( SwWW8ImplReader* pRdr )
...@@ -691,6 +693,7 @@ void WW8ReaderSave::Restore( SwWW8ImplReader* pRdr ) ...@@ -691,6 +693,7 @@ void WW8ReaderSave::Restore( SwWW8ImplReader* pRdr )
pRdr->bTableInApo = bTableInApo; pRdr->bTableInApo = bTableInApo;
pRdr->bAnl = bAnl; pRdr->bAnl = bAnl;
pRdr->nAktColl = nAktColl; pRdr->nAktColl = nAktColl;
pRdr->pSBase->SetNoAttrScan( nNoAttrScan );
// schliesse alle Attribute, da sonst Attribute // schliesse alle Attribute, da sonst Attribute
// entstehen koennen, die aus dem Fly rausragen // entstehen koennen, die aus dem Fly rausragen
...@@ -731,6 +734,7 @@ void SwWW8ImplReader::Read_HdFtFtnText( const SwNodeIndex* pSttIdx, long nStartC ...@@ -731,6 +734,7 @@ void SwWW8ImplReader::Read_HdFtFtnText( const SwNodeIndex* pSttIdx, long nStartC
aSave.Restore( this ); aSave.Restore( this );
DeleteCtrlStk(); DeleteCtrlStk();
pCtrlStck = pOldStck; pCtrlStck = pOldStck;
pSBase->SetNoAttrScan( 0 );
#else #else
aSave.Restore( this ); aSave.Restore( this );
#endif #endif
...@@ -1646,6 +1650,22 @@ void SwWW8ImplReader::ProcessAktCollChange( WW8PLCFManResult& rRes, ...@@ -1646,6 +1650,22 @@ void SwWW8ImplReader::ProcessAktCollChange( WW8PLCFManResult& rRes,
if( bReSync ) if( bReSync )
*pStartAttr = pPlcxMan->Get( &rRes ); // hole Attribut-Pos neu *pStartAttr = pPlcxMan->Get( &rRes ); // hole Attribut-Pos neu
} }
/*
SwWW8ImplReader::ProcessAktCollChange(WW8PLCFManResult & {...}, unsigned char * 0x0012d6d8, unsigned char 0x01) line 1643
SwWW8ImplReader::ReadTextAttr(long & 0x00000000, unsigned char & 0x00) line 1679
SwWW8ImplReader::ReadAttrs(long & 0x00000000, long & 0x00000000, unsigned char & 0x00) line 1762 + 16 bytes
SwWW8ImplReader::ReadText(long 0x00000000, long 0x00000267, short 0x0000) line 1860
SwWW8ImplReader::LoadDoc1(SwPaM & {...}, WW8Glossary * 0x00000000) line 2270
SwWW8ImplReader::LoadDoc(SwPaM & {...}, WW8Glossary * 0x00000000) line 2609 + 16 bytes
WW8Reader::Read(SwDoc & {...}, SwPaM & {...}, const String & {???}) line 2675 + 14 bytes
SW612MI! SwReader::Read(class Reader const &) + 779 bytes
SW612MI! SwDocShell::ConvertFrom(class SfxMedium &) + 245 bytes
SFX612MI! SfxObjectShell::DoLoad(class SfxMedium *) + 3576 bytes
*/
if( !bTabRowEnd ) if( !bTabRowEnd )
{ {
SetTxtFmtCollAndListLevel( *pPaM, pCollA[ nAktColl ]); SetTxtFmtCollAndListLevel( *pPaM, pCollA[ nAktColl ]);
...@@ -2890,11 +2910,14 @@ void SwMSDffManager::ProcessClientAnchor2( SvStream& rSt, DffRecordHeader& rHd, ...@@ -2890,11 +2910,14 @@ void SwMSDffManager::ProcessClientAnchor2( SvStream& rSt, DffRecordHeader& rHd,
Source Code Control System - Header Source Code Control System - Header
$Header: /zpool/svn/migration/cvs_rep_09_09_08/code/sw/source/filter/ww8/ww8par.cxx,v 1.3 2000-11-20 14:11:52 jp Exp $ $Header: /zpool/svn/migration/cvs_rep_09_09_08/code/sw/source/filter/ww8/ww8par.cxx,v 1.4 2000-11-23 13:37:53 khz Exp $
Source Code Control System - Update Source Code Control System - Update
$Log: not supported by cvs2svn $ $Log: not supported by cvs2svn $
Revision 1.3 2000/11/20 14:11:52 jp
Read_FieldIniFlags removed
Revision 1.2 2000/11/15 14:31:46 jp Revision 1.2 2000/11/15 14:31:46 jp
GetFilterFlags: don't insert SW-Objects GetFilterFlags: don't insert SW-Objects
......
...@@ -2,9 +2,9 @@ ...@@ -2,9 +2,9 @@
* *
* $RCSfile: ww8par.hxx,v $ * $RCSfile: ww8par.hxx,v $
* *
* $Revision: 1.5 $ * $Revision: 1.6 $
* *
* last change: $Author: jp $ $Date: 2000-11-20 14:09:17 $ * last change: $Author: khz $ $Date: 2000-11-23 13:37:53 $
* *
* The Contents of this file are made available subject to the terms of * The Contents of this file are made available subject to the terms of
* either of the following licenses * either of the following licenses
...@@ -354,6 +354,7 @@ class WW8ReaderSave ...@@ -354,6 +354,7 @@ class WW8ReaderSave
WW8SwFlyPara* pSFlyPara; WW8SwFlyPara* pSFlyPara;
WW8TabDesc* pTableDesc; WW8TabDesc* pTableDesc;
USHORT nAktColl; USHORT nAktColl;
USHORT nNoAttrScan;
sal_Unicode cSymbol; sal_Unicode cSymbol;
BOOL bIgnoreText : 1; BOOL bIgnoreText : 1;
BOOL bDontCreateSep : 1; BOOL bDontCreateSep : 1;
...@@ -1115,11 +1116,14 @@ public: // eigentlich private, geht aber leider nur public ...@@ -1115,11 +1116,14 @@ public: // eigentlich private, geht aber leider nur public
Source Code Control System - Header Source Code Control System - Header
$Header: /zpool/svn/migration/cvs_rep_09_09_08/code/sw/source/filter/ww8/ww8par.hxx,v 1.5 2000-11-20 14:09:17 jp Exp $ $Header: /zpool/svn/migration/cvs_rep_09_09_08/code/sw/source/filter/ww8/ww8par.hxx,v 1.6 2000-11-23 13:37:53 khz Exp $
Source Code Control System - Update Source Code Control System - Update
$Log: not supported by cvs2svn $ $Log: not supported by cvs2svn $
Revision 1.5 2000/11/20 14:09:17 jp
Read_FieldIniFlags removed
Revision 1.4 2000/11/01 12:12:16 jp Revision 1.4 2000/11/01 12:12:16 jp
optimize: use the same code to read MAC-Pict optimize: use the same code to read MAC-Pict
......
...@@ -2,9 +2,9 @@ ...@@ -2,9 +2,9 @@
* *
* $RCSfile: ww8scan.cxx,v $ * $RCSfile: ww8scan.cxx,v $
* *
* $Revision: 1.3 $ * $Revision: 1.4 $
* *
* last change: $Author: jp $ $Date: 2000-10-24 14:26:55 $ * last change: $Author: khz $ $Date: 2000-11-23 13:37:53 $
* *
* The Contents of this file are made available subject to the terms of * The Contents of this file are made available subject to the terms of
* either of the following licenses * either of the following licenses
...@@ -1867,16 +1867,16 @@ BOOL WW8PLCFx_Fc_FKP::NewFkp() ...@@ -1867,16 +1867,16 @@ BOOL WW8PLCFx_Fc_FKP::NewFkp()
DELETEZ( pFkp ); DELETEZ( pFkp );
pFkp = new WW8Fkp( GetVersion(), pFKPStrm, pDataStrm, nPo, pFkp = new WW8Fkp( GetVersion(), pFKPStrm, pDataStrm, nPo,
pFkpSizeTab[ ePLCF ], pFkpSizeTab[ ePLCF ],
ePLCF, nStartFc ); ePLCF, GetStartFc() );
} }
else // khz test1 // else // khz test1 //
{ {
// pFkp->SetIdx( 0 ); // pFkp->SetIdx( 0 );
// if( nStartFc >= 0 ) // if( GetStartFc() >= 0 )
// pFkp->SeekPos( nStartFc ); // pFkp->SeekPos( GetStartFc() );
} }
// nStartFc = -1; // Nur das erste Mal // SetStartFc( -1 ); // Nur das erste Mal
return TRUE; return TRUE;
} }
...@@ -1889,22 +1889,22 @@ WW8PLCFx_Fc_FKP::WW8PLCFx_Fc_FKP(SvStream* pSt, SvStream* pTblSt, ...@@ -1889,22 +1889,22 @@ WW8PLCFx_Fc_FKP::WW8PLCFx_Fc_FKP(SvStream* pSt, SvStream* pTblSt,
pDataStrm( pDataSt ), pDataStrm( pDataSt ),
ePLCF( ePl ), ePLCF( ePl ),
pFkp( 0 ), pFkp( 0 ),
nStartFc( nStartFcL ),
pPCDAttrs( pPLCFx_PCDAttrs_) pPCDAttrs( pPLCFx_PCDAttrs_)
{ {
SetStartFc( nStartFcL );
long nLenStruct = (8 > rFib.nVersion) ? 2 : 4; long nLenStruct = (8 > rFib.nVersion) ? 2 : 4;
if( ePl == CHP ) if( ePl == CHP )
pPLCF = new WW8PLCF( pTblSt, rFib.fcPlcfbteChpx, pPLCF = new WW8PLCF( pTblSt, rFib.fcPlcfbteChpx,
rFib.lcbPlcfbteChpx, rFib.lcbPlcfbteChpx,
nLenStruct, nLenStruct,
nStartFc, GetStartFc(),
rFib.pnChpFirst, rFib.pnChpFirst,
rFib.cpnBteChp ); rFib.cpnBteChp );
else else
pPLCF = new WW8PLCF( pTblSt, rFib.fcPlcfbtePapx, pPLCF = new WW8PLCF( pTblSt, rFib.fcPlcfbtePapx,
rFib.lcbPlcfbtePapx, rFib.lcbPlcfbtePapx,
nLenStruct, nLenStruct,
nStartFc, GetStartFc(),
rFib.pnPapFirst, rFib.pnPapFirst,
rFib.cpnBtePap ); rFib.cpnBtePap );
} }
...@@ -1945,7 +1945,7 @@ void WW8PLCFx_Fc_FKP::SetIdx( ULONG nIdx ) ...@@ -1945,7 +1945,7 @@ void WW8PLCFx_Fc_FKP::SetIdx( ULONG nIdx )
BOOL WW8PLCFx_Fc_FKP::SeekPos( WW8_FC nFcPos ) BOOL WW8PLCFx_Fc_FKP::SeekPos( WW8_FC nFcPos )
{ {
// StartPos for next Where() // StartPos for next Where()
nStartFc = nFcPos; SetStartFc( nFcPos );
// find StartPos for next pPLCF->Get() // find StartPos for next pPLCF->Get()
BOOL bRet = pPLCF->SeekPos( nFcPos ); BOOL bRet = pPLCF->SeekPos( nFcPos );
...@@ -3710,12 +3710,14 @@ void WW8PLCFx::Save( WW8PLCFxSave1& rSave ) const ...@@ -3710,12 +3710,14 @@ void WW8PLCFx::Save( WW8PLCFxSave1& rSave ) const
rSave.nPLCFxPos = GetIdx(); rSave.nPLCFxPos = GetIdx();
rSave.nPLCFxPos2 = GetIdx2(); rSave.nPLCFxPos2 = GetIdx2();
rSave.nPLCFxMemOfs = 0; rSave.nPLCFxMemOfs = 0;
rSave.nStartFC = GetStartFc();
} }
void WW8PLCFx::Restore( const WW8PLCFxSave1& rSave ) void WW8PLCFx::Restore( const WW8PLCFxSave1& rSave )
{ {
SetIdx( rSave.nPLCFxPos ); SetIdx( rSave.nPLCFxPos );
SetIdx2( rSave.nPLCFxPos2 ); SetIdx2( rSave.nPLCFxPos2 );
SetStartFc( rSave.nStartFC );
} }
...@@ -5996,11 +5998,14 @@ BYTE WW8SprmDataOfs( USHORT nId ) ...@@ -5996,11 +5998,14 @@ BYTE WW8SprmDataOfs( USHORT nId )
/************************************************************************* /*************************************************************************
Source Code Control System - Header Source Code Control System - Header
$Header: /zpool/svn/migration/cvs_rep_09_09_08/code/sw/source/filter/ww8/ww8scan.cxx,v 1.3 2000-10-24 14:26:55 jp Exp $ $Header: /zpool/svn/migration/cvs_rep_09_09_08/code/sw/source/filter/ww8/ww8scan.cxx,v 1.4 2000-11-23 13:37:53 khz Exp $
Source Code Control System - Update Source Code Control System - Update
$Log: not supported by cvs2svn $ $Log: not supported by cvs2svn $
Revision 1.3 2000/10/24 14:26:55 jp
move some code out of the dump define
Revision 1.2 2000/10/20 11:19:29 khz Revision 1.2 2000/10/20 11:19:29 khz
#78761# don't reset nStartFc when calling WW8PLCFx_Fc_FKP::NewFkp() #78761# don't reset nStartFc when calling WW8PLCFx_Fc_FKP::NewFkp()
......
...@@ -2,9 +2,9 @@ ...@@ -2,9 +2,9 @@
* *
* $RCSfile: ww8scan.hxx,v $ * $RCSfile: ww8scan.hxx,v $
* *
* $Revision: 1.2 $ * $Revision: 1.3 $
* *
* last change: $Author: khz $ $Date: 2000-11-21 11:23:57 $ * last change: $Author: khz $ $Date: 2000-11-23 13:37:53 $
* *
* The Contents of this file are made available subject to the terms of * The Contents of this file are made available subject to the terms of
* either of the following licenses * either of the following licenses
...@@ -160,6 +160,7 @@ struct WW8PLCFxSave1 ...@@ -160,6 +160,7 @@ struct WW8PLCFxSave1
ULONG nPLCFxPos; ULONG nPLCFxPos;
ULONG nPLCFxPos2; // fuer PLCF_Cp_Fkp: PieceIter-Pos ULONG nPLCFxPos2; // fuer PLCF_Cp_Fkp: PieceIter-Pos
long nPLCFxMemOfs; long nPLCFxMemOfs;
WW8_FC nStartFC;
WW8_CP nAttrStart; WW8_CP nAttrStart;
WW8_CP nAttrEnd; WW8_CP nAttrEnd;
BOOL bLineEnd; BOOL bLineEnd;
...@@ -330,6 +331,7 @@ class WW8PLCFx // virtueller Iterator fuer Piece Table Exceptions ...@@ -330,6 +331,7 @@ class WW8PLCFx // virtueller Iterator fuer Piece Table Exceptions
{ {
BYTE nVersion; // Versionsnummer des FIB BYTE nVersion; // Versionsnummer des FIB
BOOL bIsSprm; // PLCF von Sprms oder von anderem ( Footnote, ... ) BOOL bIsSprm; // PLCF von Sprms oder von anderem ( Footnote, ... )
WW8_FC nStartFc;
public: public:
WW8PLCFx( BYTE nFibVersion, BOOL bSprm ) WW8PLCFx( BYTE nFibVersion, BOOL bSprm )
...@@ -351,6 +353,8 @@ public: ...@@ -351,6 +353,8 @@ public:
virtual void Save( WW8PLCFxSave1& rSave ) const; virtual void Save( WW8PLCFxSave1& rSave ) const;
virtual void Restore( const WW8PLCFxSave1& rSave ); virtual void Restore( const WW8PLCFxSave1& rSave );
BYTE GetVersion() const { return nVersion; } BYTE GetVersion() const { return nVersion; }
void SetStartFc( WW8_FC nFc ) { nStartFc = nFc; }
WW8_FC GetStartFc( ) const { return nStartFc; }
}; };
enum eCutT { CUT_NONE = 0, CUT_START, CUT_END, CUT_BOTH }; enum eCutT { CUT_NONE = 0, CUT_START, CUT_END, CUT_BOTH };
...@@ -475,7 +479,6 @@ class WW8PLCFx_Fc_FKP : public WW8PLCFx // Iterator fuer Piece Table Excepti ...@@ -475,7 +479,6 @@ class WW8PLCFx_Fc_FKP : public WW8PLCFx // Iterator fuer Piece Table Excepti
SvStream* pDataStrm; // Input-File SvStream* pDataStrm; // Input-File
WW8PLCF* pPLCF; WW8PLCF* pPLCF;
WW8Fkp* pFkp; WW8Fkp* pFkp;
WW8_FC nStartFc;
BOOL NewFkp(); BOOL NewFkp();
...@@ -837,6 +840,7 @@ public: ...@@ -837,6 +840,7 @@ public:
WW8_FC WW8Cp2Fc( WW8_CP nCpPos, BOOL* pIsUnicode = 0, WW8_FC WW8Cp2Fc( WW8_CP nCpPos, BOOL* pIsUnicode = 0,
WW8_CP* pNextPieceCp = 0, BOOL* pTestFlag = 0 ) const; WW8_CP* pNextPieceCp = 0, BOOL* pTestFlag = 0 ) const;
void SetNoAttrScan( USHORT nValue ) { nNoAttrScan = nValue; }; void SetNoAttrScan( USHORT nValue ) { nNoAttrScan = nValue; };
USHORT GetNoAttrScan(){ return nNoAttrScan; }
USHORT WW8ReadString( SvStream& rStrm, String& rStr, USHORT WW8ReadString( SvStream& rStrm, String& rStr,
WW8_CP nAktStartCp, long nTotalLen, WW8_CP nAktStartCp, long nTotalLen,
...@@ -1536,12 +1540,15 @@ public: ...@@ -1536,12 +1540,15 @@ public:
/************************************************************************* /*************************************************************************
Source Code Control System - Header Source Code Control System - Header
$Header: /zpool/svn/migration/cvs_rep_09_09_08/code/sw/source/filter/ww8/ww8scan.hxx,v 1.2 2000-11-21 11:23:57 khz Exp $ $Header: /zpool/svn/migration/cvs_rep_09_09_08/code/sw/source/filter/ww8/ww8scan.hxx,v 1.3 2000-11-23 13:37:53 khz Exp $
Source Code Control System - Update Source Code Control System - Update
$Log: not supported by cvs2svn $ $Log: not supported by cvs2svn $
Revision 1.2 2000/11/21 11:23:57 khz
added comments
Revision 1.1.1.1 2000/09/18 17:14:59 hr Revision 1.1.1.1 2000/09/18 17:14:59 hr
initial import initial import
......
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