Kaydet (Commit) 09f50c01 authored tarafından Jan Holesovsky's avatar Jan Holesovsky

Reintroduce unlockPositionOfObjects().

This unlocking code was accidentally removed in commit
12092236.  Not sure if it is still necessary,
but I am at the moment unable to prove it is not, so better to be safe :-)

Change-Id: I20a7cf3299de75182f890efb0d192e54c1b2543d
üst c3b1ce20
...@@ -498,6 +498,24 @@ SwPageFrm* SwLayAction::CheckFirstVisPage( SwPageFrm *pPage ) ...@@ -498,6 +498,24 @@ SwPageFrm* SwLayAction::CheckFirstVisPage( SwPageFrm *pPage )
return pPage; return pPage;
} }
// #114798# - unlock position on start and end of page
// layout process.
static void unlockPositionOfObjects( SwPageFrm *pPageFrm )
{
assert( pPageFrm );
SwSortedObjs* pObjs = pPageFrm->GetSortedObjs();
if ( pObjs )
{
sal_uInt32 i = 0;
for ( ; i < pObjs->Count(); ++i )
{
SwAnchoredObject* pObj = (*pObjs)[i];
pObj->UnlockPosition();
}
}
}
void SwLayAction::InternalAction() void SwLayAction::InternalAction()
{ {
OSL_ENSURE( pRoot->Lower()->IsPageFrm(), ":-( No page below the root."); OSL_ENSURE( pRoot->Lower()->IsPageFrm(), ":-( No page below the root.");
...@@ -597,6 +615,8 @@ void SwLayAction::InternalAction() ...@@ -597,6 +615,8 @@ void SwLayAction::InternalAction()
while ( !IsInterrupt() && !IsNextCycle() && while ( !IsInterrupt() && !IsNextCycle() &&
((IS_FLYS && IS_INVAFLY) || pPage->IsInvalid()) ) ((IS_FLYS && IS_INVAFLY) || pPage->IsInvalid()) )
{ {
unlockPositionOfObjects( pPage );
// #i28701# // #i28701#
SwObjectFormatter::FormatObjsAtFrm( *pPage, *pPage, this ); SwObjectFormatter::FormatObjsAtFrm( *pPage, *pPage, this );
if ( !IS_FLYS ) if ( !IS_FLYS )
...@@ -655,6 +675,8 @@ void SwLayAction::InternalAction() ...@@ -655,6 +675,8 @@ void SwLayAction::InternalAction()
if( bNoLoop ) if( bNoLoop )
pLayoutAccess->GetLayouter()->LoopControl( pPage, LOOP_PAGE ); pLayoutAccess->GetLayouter()->LoopControl( pPage, LOOP_PAGE );
} }
unlockPositionOfObjects( pPage );
} }
// A previous page may be invalid again. // A previous page may be invalid again.
...@@ -769,6 +791,8 @@ void SwLayAction::InternalAction() ...@@ -769,6 +791,8 @@ void SwLayAction::InternalAction()
while ( pPg && ( pPg->Frm().Top() < nBottom || while ( pPg && ( pPg->Frm().Top() < nBottom ||
( IsIdle() && pPg == pPage ) ) ) ( IsIdle() && pPg == pPage ) ) )
{ {
unlockPositionOfObjects( pPg );
XCHECKPAGE; XCHECKPAGE;
// #i81146# new loop control // #i81146# new loop control
...@@ -843,6 +867,8 @@ void SwLayAction::InternalAction() ...@@ -843,6 +867,8 @@ void SwLayAction::InternalAction()
} }
} }
} }
unlockPositionOfObjects( pPg );
pPg = (SwPageFrm*)pPg->GetNext(); pPg = (SwPageFrm*)pPg->GetNext();
} }
// reset flag for special interrupt content formatting. // reset flag for special interrupt content formatting.
......
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