diff -uNr sw.old/source/core/crsr/trvltbl.cxx sw.new/source/core/crsr/trvltbl.cxx --- sw.old/source/core/crsr/trvltbl.cxx 2007-08-30 10:07:52.000000000 +0800 +++ sw.new/source/core/crsr/trvltbl.cxx 2007-09-04 14:51:26.000000000 +0800 @@ -643,7 +643,10 @@ return FALSE; rCurCrsr.GetPoint()->nNode = aIdx; } + const SwTableNode* pTmpTblNd = rCurCrsr.GetPoint()->nNode.GetNode().FindTableNode(); rCurCrsr.Move( fnPosTbl, fnGoCntnt ); + while( pTmpTblNd && pTmpTblNd != rCurCrsr.GetPoint()->nNode.GetNode().FindTableNode() ) + rCurCrsr.Move( fnPosTbl, fnGoCntnt ); return TRUE; }