summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--svx/source/svdraw/svdmodel.cxx35
-rw-r--r--svx/source/svdraw/svdpage.cxx22
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();