Index: source/core/edit/edsect.cxx =================================================================== --- source/core/edit/edsect.cxx (revision 269803) +++ source/core/edit/edsect.cxx (working copy) @@ -72,9 +72,11 @@ BOOL SwEditShell::IsInsRegionAvailable() const { - SwPaM* pCrsr; - if( IsTableMode() || ( pCrsr = GetCrsr() )->GetNext() != pCrsr ) + if( IsTableMode() ) return FALSE; + SwPaM* pCrsr = GetCrsr(); + if( pCrsr->GetNext() != pCrsr ) + return FALSE; if( pCrsr->HasMark() ) return 0 != GetDoc()->IsInsRegionAvailable( *pCrsr ); Index: source/core/doc/tblrwcl.cxx =================================================================== --- source/core/doc/tblrwcl.cxx (revision 269803) +++ source/core/doc/tblrwcl.cxx (working copy) @@ -362,10 +362,17 @@ // suche die selektierten Boxen in der Line: _FndLine* pCmpLine; SwFmtFrmSize aFrmSz( pNewFmt->GetFrmSize() ); - if( pBox->GetTabLines().Count() && - ( pCmpLine = rpFndBox->GetLines()[ 0 ])->GetBoxes().Count() - != pCmpLine->GetLine()->GetTabBoxes().Count() ) + + bool bDiffCount = false; + if( pBox->GetTabLines().Count() ) { + pCmpLine = rpFndBox->GetLines()[ 0 ]; + if ( pCmpLine->GetBoxes().Count() != pCmpLine->GetLine()->GetTabBoxes().Count() ) + bDiffCount = true; + } + + if( bDiffCount ) + { // die erste Line sollte reichen _FndBoxes& rFndBoxes = pCmpLine->GetBoxes(); long nSz = 0; Index: source/core/edit/edws.cxx =================================================================== --- source/core/edit/edws.cxx (revision 269803) +++ source/core/edit/edws.cxx (working copy) @@ -189,13 +189,21 @@ sal_Bool SwEditShell::HasOtherCnt() const { + if ( GetDoc()->GetSpzFrmFmts()->Count() ) + return sal_True; + const SwNodes &rNds = GetDoc()->GetNodes(); const SwNode *pNd; - return GetDoc()->GetSpzFrmFmts()->Count() || - 1 != (( pNd = &rNds.GetEndOfInserts() )->GetIndex() - - pNd->StartOfSectionIndex() ) || - 1 != (( pNd = &rNds.GetEndOfAutotext() )->GetIndex() - - pNd->StartOfSectionIndex() ); + + pNd = &rNds.GetEndOfInserts(); + if ( 1 != (pNd->GetIndex() - pNd->StartOfSectionIndex()) ) + return sal_True; + + pNd = &rNds.GetEndOfAutotext(); + if ( 1 != (pNd->GetIndex() - pNd->StartOfSectionIndex()) ) + return sal_True; + + return sal_False; } /******************************************************************************