summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkhz <khz@openoffice.org>2000-11-23 12:37:53 +0000
committerkhz <khz@openoffice.org>2000-11-23 12:37:53 +0000
commit5676e088da238c010f19ddf77278caf4d1f29e03 (patch)
tree911284010464e0f5b512af340d647c79143b27c1
parentaf57106b036a67a3642861323925799f18ad4116 (diff)
#79474# Save/restore PLCF state before/after reading header or footer data
-rw-r--r--sw/source/filter/ww8/ww8par.cxx29
-rw-r--r--sw/source/filter/ww8/ww8par.hxx10
-rw-r--r--sw/source/filter/ww8/ww8scan.cxx31
-rw-r--r--sw/source/filter/ww8/ww8scan.hxx15
4 files changed, 62 insertions, 23 deletions
diff --git a/sw/source/filter/ww8/ww8par.cxx b/sw/source/filter/ww8/ww8par.cxx
index b714105873c0..a6b3dbbf343f 100644
--- a/sw/source/filter/ww8/ww8par.cxx
+++ b/sw/source/filter/ww8/ww8par.cxx
@@ -2,9 +2,9 @@
*
* $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
* either of the following licenses
@@ -648,6 +648,7 @@ WW8ReaderSave::WW8ReaderSave( SwWW8ImplReader* pRdr ,WW8_CP nStartCp)
bTableInApo = pRdr->bTableInApo;
bAnl = pRdr->bAnl;
nAktColl = pRdr->nAktColl;
+ nNoAttrScan = pRdr->pSBase->GetNoAttrScan();
// Tracking beginnt neu
pRdr->bHdFtFtnEdn = TRUE;
@@ -673,6 +674,7 @@ WW8ReaderSave::WW8ReaderSave( SwWW8ImplReader* pRdr ,WW8_CP nStartCp)
if (nStartCp != -1)
pRdr->pPlcxMan = new WW8PLCFMan( pRdr->pSBase,
pOldPlcxMan->GetManType(), nStartCp );
+ pRdr->pSBase->SetNoAttrScan( 0 );
}
void WW8ReaderSave::Restore( SwWW8ImplReader* pRdr )
@@ -691,6 +693,7 @@ void WW8ReaderSave::Restore( SwWW8ImplReader* pRdr )
pRdr->bTableInApo = bTableInApo;
pRdr->bAnl = bAnl;
pRdr->nAktColl = nAktColl;
+ pRdr->pSBase->SetNoAttrScan( nNoAttrScan );
// schliesse alle Attribute, da sonst Attribute
// entstehen koennen, die aus dem Fly rausragen
@@ -731,6 +734,7 @@ void SwWW8ImplReader::Read_HdFtFtnText( const SwNodeIndex* pSttIdx, long nStartC
aSave.Restore( this );
DeleteCtrlStk();
pCtrlStck = pOldStck;
+ pSBase->SetNoAttrScan( 0 );
#else
aSave.Restore( this );
#endif
@@ -1646,6 +1650,22 @@ void SwWW8ImplReader::ProcessAktCollChange( WW8PLCFManResult& rRes,
if( bReSync )
*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 )
{
SetTxtFmtCollAndListLevel( *pPaM, pCollA[ nAktColl ]);
@@ -2890,11 +2910,14 @@ void SwMSDffManager::ProcessClientAnchor2( SvStream& rSt, DffRecordHeader& rHd,
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
$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
GetFilterFlags: don't insert SW-Objects
diff --git a/sw/source/filter/ww8/ww8par.hxx b/sw/source/filter/ww8/ww8par.hxx
index ba2c8377230d..f8cfac710013 100644
--- a/sw/source/filter/ww8/ww8par.hxx
+++ b/sw/source/filter/ww8/ww8par.hxx
@@ -2,9 +2,9 @@
*
* $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
* either of the following licenses
@@ -354,6 +354,7 @@ class WW8ReaderSave
WW8SwFlyPara* pSFlyPara;
WW8TabDesc* pTableDesc;
USHORT nAktColl;
+ USHORT nNoAttrScan;
sal_Unicode cSymbol;
BOOL bIgnoreText : 1;
BOOL bDontCreateSep : 1;
@@ -1115,11 +1116,14 @@ public: // eigentlich private, geht aber leider nur public
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
$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
optimize: use the same code to read MAC-Pict
diff --git a/sw/source/filter/ww8/ww8scan.cxx b/sw/source/filter/ww8/ww8scan.cxx
index 797ac6cee995..07c246942f30 100644
--- a/sw/source/filter/ww8/ww8scan.cxx
+++ b/sw/source/filter/ww8/ww8scan.cxx
@@ -2,9 +2,9 @@
*
* $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
* either of the following licenses
@@ -1867,16 +1867,16 @@ BOOL WW8PLCFx_Fc_FKP::NewFkp()
DELETEZ( pFkp );
pFkp = new WW8Fkp( GetVersion(), pFKPStrm, pDataStrm, nPo,
pFkpSizeTab[ ePLCF ],
- ePLCF, nStartFc );
+ ePLCF, GetStartFc() );
}
else // khz test1 //
{
// pFkp->SetIdx( 0 );
-// if( nStartFc >= 0 )
-// pFkp->SeekPos( nStartFc );
+// if( GetStartFc() >= 0 )
+// pFkp->SeekPos( GetStartFc() );
}
-// nStartFc = -1; // Nur das erste Mal
+// SetStartFc( -1 ); // Nur das erste Mal
return TRUE;
}
@@ -1889,22 +1889,22 @@ WW8PLCFx_Fc_FKP::WW8PLCFx_Fc_FKP(SvStream* pSt, SvStream* pTblSt,
pDataStrm( pDataSt ),
ePLCF( ePl ),
pFkp( 0 ),
- nStartFc( nStartFcL ),
pPCDAttrs( pPLCFx_PCDAttrs_)
{
+ SetStartFc( nStartFcL );
long nLenStruct = (8 > rFib.nVersion) ? 2 : 4;
if( ePl == CHP )
pPLCF = new WW8PLCF( pTblSt, rFib.fcPlcfbteChpx,
rFib.lcbPlcfbteChpx,
nLenStruct,
- nStartFc,
+ GetStartFc(),
rFib.pnChpFirst,
rFib.cpnBteChp );
else
pPLCF = new WW8PLCF( pTblSt, rFib.fcPlcfbtePapx,
rFib.lcbPlcfbtePapx,
nLenStruct,
- nStartFc,
+ GetStartFc(),
rFib.pnPapFirst,
rFib.cpnBtePap );
}
@@ -1945,7 +1945,7 @@ void WW8PLCFx_Fc_FKP::SetIdx( ULONG nIdx )
BOOL WW8PLCFx_Fc_FKP::SeekPos( WW8_FC nFcPos )
{
// StartPos for next Where()
- nStartFc = nFcPos;
+ SetStartFc( nFcPos );
// find StartPos for next pPLCF->Get()
BOOL bRet = pPLCF->SeekPos( nFcPos );
@@ -3710,12 +3710,14 @@ void WW8PLCFx::Save( WW8PLCFxSave1& rSave ) const
rSave.nPLCFxPos = GetIdx();
rSave.nPLCFxPos2 = GetIdx2();
rSave.nPLCFxMemOfs = 0;
+ rSave.nStartFC = GetStartFc();
}
void WW8PLCFx::Restore( const WW8PLCFxSave1& rSave )
{
- SetIdx( rSave.nPLCFxPos );
- SetIdx2( rSave.nPLCFxPos2 );
+ SetIdx( rSave.nPLCFxPos );
+ SetIdx2( rSave.nPLCFxPos2 );
+ SetStartFc( rSave.nStartFC );
}
@@ -5996,11 +5998,14 @@ BYTE WW8SprmDataOfs( USHORT nId )
/*************************************************************************
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
$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
#78761# don't reset nStartFc when calling WW8PLCFx_Fc_FKP::NewFkp()
diff --git a/sw/source/filter/ww8/ww8scan.hxx b/sw/source/filter/ww8/ww8scan.hxx
index d813cf13c1bf..0fc2aebc8414 100644
--- a/sw/source/filter/ww8/ww8scan.hxx
+++ b/sw/source/filter/ww8/ww8scan.hxx
@@ -2,9 +2,9 @@
*
* $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
* either of the following licenses
@@ -160,6 +160,7 @@ struct WW8PLCFxSave1
ULONG nPLCFxPos;
ULONG nPLCFxPos2; // fuer PLCF_Cp_Fkp: PieceIter-Pos
long nPLCFxMemOfs;
+ WW8_FC nStartFC;
WW8_CP nAttrStart;
WW8_CP nAttrEnd;
BOOL bLineEnd;
@@ -330,6 +331,7 @@ class WW8PLCFx // virtueller Iterator fuer Piece Table Exceptions
{
BYTE nVersion; // Versionsnummer des FIB
BOOL bIsSprm; // PLCF von Sprms oder von anderem ( Footnote, ... )
+ WW8_FC nStartFc;
public:
WW8PLCFx( BYTE nFibVersion, BOOL bSprm )
@@ -351,6 +353,8 @@ public:
virtual void Save( WW8PLCFxSave1& rSave ) const;
virtual void Restore( const WW8PLCFxSave1& rSave );
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 };
@@ -475,7 +479,6 @@ class WW8PLCFx_Fc_FKP : public WW8PLCFx // Iterator fuer Piece Table Excepti
SvStream* pDataStrm; // Input-File
WW8PLCF* pPLCF;
WW8Fkp* pFkp;
- WW8_FC nStartFc;
BOOL NewFkp();
@@ -837,6 +840,7 @@ public:
WW8_FC WW8Cp2Fc( WW8_CP nCpPos, BOOL* pIsUnicode = 0,
WW8_CP* pNextPieceCp = 0, BOOL* pTestFlag = 0 ) const;
void SetNoAttrScan( USHORT nValue ) { nNoAttrScan = nValue; };
+ USHORT GetNoAttrScan(){ return nNoAttrScan; }
USHORT WW8ReadString( SvStream& rStrm, String& rStr,
WW8_CP nAktStartCp, long nTotalLen,
@@ -1536,12 +1540,15 @@ public:
/*************************************************************************
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
$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
initial import