diff options
-rw-r--r-- | svx/source/svdraw/svdmodel.cxx | 35 | ||||
-rw-r--r-- | svx/source/svdraw/svdpage.cxx | 22 |
2 files changed, 51 insertions, 6 deletions
diff --git a/svx/source/svdraw/svdmodel.cxx b/svx/source/svdraw/svdmodel.cxx index deee50fa4652..c5a59eea7af9 100644 --- a/svx/source/svdraw/svdmodel.cxx +++ b/svx/source/svdraw/svdmodel.cxx @@ -2,9 +2,9 @@ * * $RCSfile: svdmodel.cxx,v $ * - * $Revision: 1.44 $ + * $Revision: 1.45 $ * - * last change: $Author: cl $ $Date: 2002-10-09 15:47:42 $ + * last change: $Author: cl $ $Date: 2002-10-11 12:54:30 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -1024,6 +1024,29 @@ void SdrModel::ImpReformatAllTextObjects() } } +/** #103122# + steps over all available pages and sends notify messages to + all edge objects that are connected to other objects so that + they may reposition itselfs +*/ +void SdrModel::ImpReformatAllEdgeObjects() +{ + if( isLocked() ) + return; + + sal_uInt16 nAnz=GetMasterPageCount(); + sal_uInt16 nNum; + for (nNum=0; nNum<nAnz; nNum++) + { + GetMasterPage(nNum)->ReformatAllEdgeObjects(); + } + nAnz=GetPageCount(); + for (nNum=0; nNum<nAnz; nNum++) + { + GetPage(nNum)->ReformatAllEdgeObjects(); + } +} + SvStream* SdrModel::GetDocumentStream(SdrDocumentStreamInfo& rStreamInfo) const { return NULL; @@ -2681,8 +2704,12 @@ void SdrModel::setLock( BOOL bLock ) if( mbModelLocked != bLock ) { mbModelLocked = bLock; - if( bLock = sal_False ) - ReformatAllTextObjects(); + if( sal_False == bLock ) + { + // ReformatAllTextObjects(); #103122# due to a typo in the above if, this code was never + // executed, so I remove it until we discover that we need it here + ImpReformatAllEdgeObjects(); // #103122# + } } } diff --git a/svx/source/svdraw/svdpage.cxx b/svx/source/svdraw/svdpage.cxx index f6f0920e1d80..26aafea60d69 100644 --- a/svx/source/svdraw/svdpage.cxx +++ b/svx/source/svdraw/svdpage.cxx @@ -2,9 +2,9 @@ * * $RCSfile: svdpage.cxx,v $ * - * $Revision: 1.32 $ + * $Revision: 1.33 $ * - * last change: $Author: cl $ $Date: 2002-08-06 13:21:19 $ + * last change: $Author: cl $ $Date: 2002-10-11 12:53:45 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -962,6 +962,24 @@ void SdrObjList::ReformatAllTextObjects() } } +/** steps over all available objects and reformats all + edge objects that are connected to other objects so that + they may reposition itselfs. + #103122# +*/ +void SdrObjList::ReformatAllEdgeObjects() +{ + const sal_uInt32 nCount=GetObjCount(); + sal_uInt32 nObj; + + for( nObj = 0; nObj < nCount; nObj++ ) + { + SdrObject* pObj = GetObj(nObj); + if( pObj->ISA(SdrEdgeObj) ) + static_cast<SdrEdgeObj*>(pObj)->Reformat(); + } +} + void SdrObjList::BurnInStyleSheetAttributes( BOOL bPseudoSheetsOnly ) { ULONG nAnz=GetObjCount(); |