diff -uNr sw.old/source/core/docnode/ndtbl1.cxx sw.new/source/core/docnode/ndtbl1.cxx --- sw.old/source/core/docnode/ndtbl1.cxx 2007-01-25 16:33:40.000000000 +0800 +++ sw.new/source/core/docnode/ndtbl1.cxx 2007-05-28 11:38:46.000000000 +0800 @@ -1414,7 +1414,7 @@ const SwLayoutFrm *pCell = pTab->FirstCell(); do { - if ( pCell->IsCellFrm() && ::IsFrmInTblSel( rUnion, pCell ) ) + if ( const_cast(pCell)->ImplFindTabFrm() == pTab && pCell->IsCellFrm() && ::IsFrmInTblSel( rUnion, pCell ) ) { const long nCLeft = (pCell->Frm().*fnRect->fnGetLeft)(); const long nCRight = (pCell->Frm().*fnRect->fnGetRight)(); @@ -1472,7 +1472,7 @@ } pCell = pCell->GetNextLayoutLeaf(); - } while ( pCell && const_cast(pCell)->ImplFindTabFrm() == pTab ); + } while ( pCell && pTab->IsAnLower(pCell) ); } }