diff -uNr sw.old/source/core/docnode/ndtbl.cxx sw.new/source/core/docnode/ndtbl.cxx --- sw.old/source/core/docnode/ndtbl.cxx 2007-01-25 16:33:18.000000000 +0800 +++ sw.new/source/core/docnode/ndtbl.cxx 2007-08-29 10:43:42.000000000 +0800 @@ -2175,7 +2175,11 @@ SwFrm *pFrm( 0L ); SwNode2Layout aNode2Layout( *pNd, GetIndex() ); - while( 0 != (pFrm = aNode2Layout.NextFrm()) ) + if ( pNd->StartOfSectionNode() == this->StartOfSectionNode() ) + pFrm = aNode2Layout.NextFrm(); + else + pFrm = aNode2Layout.UpperFrm( pFrm, *this )->Lower(); + while( 0!= pFrm ) { SwTabFrm* pNew = MakeFrm(); pNew->Paste( pFrm->GetUpper(), bBehind ? pFrm : pFrm->GetNext() ); @@ -2196,6 +2200,7 @@ } // <-- ((SwTabFrm*)pNew)->RegistFlys(); + pFrm = aNode2Layout.NextFrm(); } }