diff -Nurpw old/sw/source/filter/basflt/shellio.cxx new/sw/source/filter/basflt/shellio.cxx --- old/sw/source/filter/basflt/shellio.cxx 2008-07-08 16:28:28.000000000 +0800 +++ new/sw/source/filter/basflt/shellio.cxx 2009-08-09 16:40:32.000000000 +0800 @@ -158,7 +158,6 @@ ULONG SwReader::Read( const Reader& rOpt SwNodeIndex aSplitIdx( pDoc->GetNodes() ); RedlineMode_t eOld = pDoc->GetRedlineMode(); - pDoc->SetRedlineMode_intern( nsRedlineMode_t::REDLINE_IGNORE ); // Array von FlyFormaten SwSpzFrmFmts aFlyFrmArr; @@ -170,6 +169,8 @@ ULONG SwReader::Read( const Reader& rOpt if( bSaveUndo ) pUndo = new SwUndoInsDoc( *pPam ); + pDoc->SetRedlineMode_intern( nsRedlineMode_t::REDLINE_IGNORE ); + SwPaM* pUndoPam = 0; if( bDocUndo || pCrsr ) { @@ -190,8 +191,12 @@ ULONG SwReader::Read( const Reader& rOpt xub_StrLen nEndCntnt = pCNd ? pCNd->Len() - nSttCntnt : 0; SwNodeIndex aEndPos( pPam->GetPoint()->nNode, 1 ); + pDoc->SetRedlineMode_intern( eOld ); + nError = po->Read( *pDoc, GetBaseURL(), *pPam, aFileName ); + pDoc->SetRedlineMode_intern( nsRedlineMode_t::REDLINE_IGNORE ); + if( !IsError( nError )) // dann setzen wir das Ende mal richtig { aEndPos--;