Kaydet (Commit) 3221219d authored tarafından Andreas Martens's avatar Andreas Martens

#81704#: Selection out of range

üst bd450cf2
...@@ -2,9 +2,9 @@ ...@@ -2,9 +2,9 @@
* *
* $RCSfile: trvlfrm.cxx,v $ * $RCSfile: trvlfrm.cxx,v $
* *
* $Revision: 1.4 $ * $Revision: 1.5 $
* *
* last change: $Author: ama $ $Date: 2000-11-30 14:11:05 $ * last change: $Author: ama $ $Date: 2000-12-12 10:49:12 $
* *
* The Contents of this file are made available subject to the terms of * The Contents of this file are made available subject to the terms of
* either of the following licenses * either of the following licenses
...@@ -1892,9 +1892,12 @@ void SwRootFrm::CalcFrmRects( SwShellCrsr &rCrsr, BOOL bIsTblMode ) ...@@ -1892,9 +1892,12 @@ void SwRootFrm::CalcFrmRects( SwShellCrsr &rCrsr, BOOL bIsTblMode )
pEndFrm->GetCharRect ( aEndRect, *pEndPos, &aTmpState ); pEndFrm->GetCharRect ( aEndRect, *pEndPos, &aTmpState );
Sw2LinesPos *pEnd2Pos = aTmpState.p2Lines; Sw2LinesPos *pEnd2Pos = aTmpState.p2Lines;
SwRect aStFrm ( pStartFrm->PaintArea() ); SwRect aStFrm ( pStartFrm->UnionFrm( sal_True ) );
SwRect aEndFrm( pStartFrm == pEndFrm ? aStFrm : pEndFrm->PaintArea() ); aStFrm.Intersection( pStartFrm->PaintArea() );
SwRect aEndFrm( pStartFrm == pEndFrm ? aStFrm :
pEndFrm->UnionFrm( sal_True ) );
if( pStartFrm != pEndFrm )
aEndFrm.Intersection( pEndFrm->PaintArea() );
// If there's no doubleline portion involved or start and end are both // If there's no doubleline portion involved or start and end are both
// in the same doubleline portion, all works fine, but otherwise // in the same doubleline portion, all works fine, but otherwise
// we need the following... // we need the following...
...@@ -2054,7 +2057,8 @@ void SwRootFrm::CalcFrmRects( SwShellCrsr &rCrsr, BOOL bIsTblMode ) ...@@ -2054,7 +2057,8 @@ void SwRootFrm::CalcFrmRects( SwShellCrsr &rCrsr, BOOL bIsTblMode )
//die im Body liegen und umgekehrt. //die im Body liegen und umgekehrt.
if ( bBody == pCntnt->IsInDocBody() ) if ( bBody == pCntnt->IsInDocBody() )
{ {
SwRect aCRect( pCntnt->PaintArea() ); SwRect aCRect( pCntnt->UnionFrm( sal_True ) );
aCRect.Intersection( pCntnt->PaintArea() );
if( aCRect.IsOver( aRegion.GetOrigin() )) if( aCRect.IsOver( aRegion.GetOrigin() ))
{ {
SwRect aTmp( aPrvRect ); SwRect aTmp( aPrvRect );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment