diff -uNr sw.old/source/core/doc/doccomp.cxx sw.new/source/core/doc/doccomp.cxx --- sw.old/source/core/doc/doccomp.cxx 2007-11-06 15:39:56.000000000 +0800 +++ sw.new/source/core/doc/doccomp.cxx 2007-11-14 11:46:50.000000000 +0800 @@ -1478,8 +1478,25 @@ // #i65201#: Expand again, see comment above. if( pTmp->GetPoint()->nContent == 0 ) { - pTmp->GetPoint()->nNode++; - pTmp->GetPoint()->nContent.Assign( pTmp->GetCntntNode(), 0 ); + pTmp->GetPoint()->nNode++; + if ( pTmp->GetPoint()->nNode.GetNode().IsEndNode() ) + { + pTmp->GetPoint()->nNode--; + SwNode *pNd = &pTmp->GetPoint()->nNode.GetNode(); + if ( pNd->IsTxtNode() ) + { + SwTxtNode *pTxtNd = (SwTxtNode *)pNd; + ULONG nLen = pTxtNd->GetTxt().Len(); + pTmp->GetPoint()->nContent = nLen; + } + else + { + pTmp->GetPoint()->nNode++; + pTmp->GetPoint()->nContent.Assign( pTmp->GetCntntNode(), 0 ); + } + } + else + pTmp->GetPoint()->nContent.Assign( pTmp->GetCntntNode(), 0 ); } rDoc.DeleteRedline( rLayout, *pTmp, false, USHRT_MAX );