diff -uNr sw.old/source/core/doc/swtable.cxx sw.new/source/core/doc/swtable.cxx --- sw.old/source/core/doc/swtable.cxx 2006-11-01 19:10:52.000000000 +0800 +++ sw.new/source/core/doc/swtable.cxx 2007-05-28 12:40:56.000000000 +0800 @@ -2199,6 +2199,13 @@ if( pSttNd ) { SwNodeIndex aIdx( *pSttNd ); + + BOOL bStt = pSttNd->GetNodes()[ aIdx.GetIndex() + 1 ]->IsStartNode(); + BOOL bTable = pSttNd->GetNodes()[ aIdx.GetIndex() + 1 ]->IsTableNode(); + BOOL bSection = pSttNd->GetNodes()[ aIdx.GetIndex() + 1 ]->IsSectionNode(); + if ( (bStt && bSection) || (bStt && bTable) ) + return nPos; + const SwCntntNode* pCNd = pSttNd->GetNodes().GoNext( &aIdx ); if( pCNd && pCNd->IsTxtNode() && pSttNd->GetNodes()[ aIdx.GetIndex() + 1 ]->IsEndNode() )