Resolve crash in autopilot for forms.

This commit is contained in:
Martin Blapp 2004-02-21 10:52:14 +00:00
parent 7e5ab1309e
commit d4b4ec1084
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=101569
8 changed files with 600 additions and 0 deletions

View file

@ -0,0 +1,67 @@
--- ../sch/source/ui/unoidl/ChXChartObject.cxx 7 Aug 2002 16:01:42 -0000 1.34
+++ ../sch/source/ui/unoidl/ChXChartObject.cxx 20 Feb 2004 00:43:10 -0000
@@ -161,9 +161,11 @@
// XShape
// the following 'Hack' methods are copied from svx/unodraw/unoshape.cxx
-// they are needed as long as the drawing layer requires this
+// they are needed as long as the drawing layer requires this. Must
+// prefix these with 'sch' to make sure the symbols don't conflict with
+// those in svx and cause Bad Things To Happen (TM) #i9462#
-sal_Bool needLogicRectHack( SdrObject* pObj )
+static sal_Bool sch_needLogicRectHack( SdrObject* pObj )
{
if( pObj->GetObjInventor() == SdrInventor)
{
@@ -189,9 +191,9 @@
return sal_False;
}
-Rectangle getLogicRectHack( SdrObject* pObj )
+static Rectangle sch_getLogicRectHack( SdrObject* pObj )
{
- if(needLogicRectHack(pObj))
+ if(sch_needLogicRectHack(pObj))
{
return pObj->GetSnapRect();
}
@@ -201,9 +203,9 @@
}
}
-void setLogicRectHack( SdrObject* pObj, const Rectangle& rRect )
+static void sch_setLogicRectHack( SdrObject* pObj, const Rectangle& rRect )
{
- if(needLogicRectHack(pObj))
+ if(sch_needLogicRectHack(pObj))
{
pObj->SetSnapRect( rRect );
}
@@ -244,7 +246,7 @@
SdrObject* pObj = GetCurrentSdrObject();
if( pObj )
{
- Rectangle aRect( getLogicRectHack( pObj ));
+ Rectangle aRect( sch_getLogicRectHack( pObj ));
Point aPt( aRect.Left(), aRect.Top() );
// Position is relative to anchor - calculate absoulte position
@@ -277,7 +279,7 @@
SdrObject* pObj = GetCurrentSdrObject();
if( pObj )
{
- Rectangle aRect( getLogicRectHack( pObj ) );
+ Rectangle aRect( sch_getLogicRectHack( pObj ) );
Point aLocalPos( aPosition.X, aPosition.Y );
// Position is absolute - position relative to anchor is required
@@ -309,7 +311,7 @@
SdrObject* pObj = GetCurrentSdrObject();
if( pObj )
{
- Rectangle aRect( getLogicRectHack( pObj ));
+ Rectangle aRect( sch_getLogicRectHack( pObj ));
Size aObjSize( aRect.GetWidth(), aRect.GetHeight() );
return awt::Size( aObjSize.getWidth(), aObjSize.getHeight() );
}

View file

@ -0,0 +1,83 @@
--- ../svx/source/unodraw/unoshape.cxx 4 Feb 2004 13:21:23 -0000 1.109
+++ ../svx/source/unodraw/unoshape.cxx 20 Feb 2004 00:43:50 -0000
@@ -1067,8 +1067,10 @@
// XShape
//----------------------------------------------------------------------
+// This code also existed in sch, and those duplicate symbols
+// cause Bad Things To Happen (TM) #i9462#. Prefixing with 'svx'.
-sal_Bool needLogicRectHack( SdrObject* pObj )
+static sal_Bool svx_needLogicRectHack( SdrObject* pObj )
{
if( pObj->GetObjInventor() == SdrInventor)
{
@@ -1096,9 +1098,9 @@
//----------------------------------------------------------------------
-Rectangle getLogicRectHack( SdrObject* pObj )
+static Rectangle svx_getLogicRectHack( SdrObject* pObj )
{
- if(needLogicRectHack(pObj))
+ if(svx_needLogicRectHack(pObj))
{
return pObj->GetSnapRect();
}
@@ -1110,9 +1112,9 @@
//----------------------------------------------------------------------
-void setLogicRectHack( SdrObject* pObj, const Rectangle& rRect )
+static void svx_setLogicRectHack( SdrObject* pObj, const Rectangle& rRect )
{
- if(needLogicRectHack(pObj))
+ if(svx_needLogicRectHack(pObj))
{
pObj->SetSnapRect( rRect );
}
@@ -1130,7 +1132,7 @@
if( pObj && pModel)
{
- Rectangle aRect( getLogicRectHack(pObj) );
+ Rectangle aRect( svx_getLogicRectHack(pObj) );
Point aPt( aRect.Left(), aRect.Top() );
// Position is relativ to anchor, so recalc to absolut position
@@ -1157,7 +1159,7 @@
// transformation matrix
if(!pObj->ISA(E3dCompoundObject))
{
- Rectangle aRect( getLogicRectHack(pObj) );
+ Rectangle aRect( svx_getLogicRectHack(pObj) );
Point aLocalPos( Position.X, Position.Y );
ForceMetricToItemPoolMetric(aLocalPos);
@@ -1183,7 +1185,7 @@
if( pObj && pModel)
{
- Rectangle aRect( getLogicRectHack(pObj) );
+ Rectangle aRect( svx_getLogicRectHack(pObj) );
Size aObjSize( aRect.GetWidth(), aRect.GetHeight() );
ForceMetricTo100th_mm(aObjSize);
return ::com::sun::star::awt::Size( aObjSize.getWidth(), aObjSize.getHeight() );
@@ -1200,7 +1202,7 @@
if( pObj && pModel)
{
- Rectangle aRect( getLogicRectHack(pObj) );
+ Rectangle aRect( svx_getLogicRectHack(pObj) );
Size aLocalSize( rSize.Width, rSize.Height );
ForceMetricToItemPoolMetric(aLocalSize);
if(pObj->GetObjInventor() == SdrInventor && pObj->GetObjIdentifier() == OBJ_MEASURE )
@@ -1213,7 +1215,7 @@
else
{
aRect.SetSize(aLocalSize);
- setLogicRectHack( pObj, aRect );
+ svx_setLogicRectHack( pObj, aRect );
}
pModel->SetChanged();

View file

@ -0,0 +1,67 @@
--- ../sch/source/ui/unoidl/ChXChartObject.cxx 7 Aug 2002 16:01:42 -0000 1.34
+++ ../sch/source/ui/unoidl/ChXChartObject.cxx 20 Feb 2004 00:43:10 -0000
@@ -161,9 +161,11 @@
// XShape
// the following 'Hack' methods are copied from svx/unodraw/unoshape.cxx
-// they are needed as long as the drawing layer requires this
+// they are needed as long as the drawing layer requires this. Must
+// prefix these with 'sch' to make sure the symbols don't conflict with
+// those in svx and cause Bad Things To Happen (TM) #i9462#
-sal_Bool needLogicRectHack( SdrObject* pObj )
+static sal_Bool sch_needLogicRectHack( SdrObject* pObj )
{
if( pObj->GetObjInventor() == SdrInventor)
{
@@ -189,9 +191,9 @@
return sal_False;
}
-Rectangle getLogicRectHack( SdrObject* pObj )
+static Rectangle sch_getLogicRectHack( SdrObject* pObj )
{
- if(needLogicRectHack(pObj))
+ if(sch_needLogicRectHack(pObj))
{
return pObj->GetSnapRect();
}
@@ -201,9 +203,9 @@
}
}
-void setLogicRectHack( SdrObject* pObj, const Rectangle& rRect )
+static void sch_setLogicRectHack( SdrObject* pObj, const Rectangle& rRect )
{
- if(needLogicRectHack(pObj))
+ if(sch_needLogicRectHack(pObj))
{
pObj->SetSnapRect( rRect );
}
@@ -244,7 +246,7 @@
SdrObject* pObj = GetCurrentSdrObject();
if( pObj )
{
- Rectangle aRect( getLogicRectHack( pObj ));
+ Rectangle aRect( sch_getLogicRectHack( pObj ));
Point aPt( aRect.Left(), aRect.Top() );
// Position is relative to anchor - calculate absoulte position
@@ -277,7 +279,7 @@
SdrObject* pObj = GetCurrentSdrObject();
if( pObj )
{
- Rectangle aRect( getLogicRectHack( pObj ) );
+ Rectangle aRect( sch_getLogicRectHack( pObj ) );
Point aLocalPos( aPosition.X, aPosition.Y );
// Position is absolute - position relative to anchor is required
@@ -309,7 +311,7 @@
SdrObject* pObj = GetCurrentSdrObject();
if( pObj )
{
- Rectangle aRect( getLogicRectHack( pObj ));
+ Rectangle aRect( sch_getLogicRectHack( pObj ));
Size aObjSize( aRect.GetWidth(), aRect.GetHeight() );
return awt::Size( aObjSize.getWidth(), aObjSize.getHeight() );
}

View file

@ -0,0 +1,83 @@
--- ../svx/source/unodraw/unoshape.cxx 4 Feb 2004 13:21:23 -0000 1.109
+++ ../svx/source/unodraw/unoshape.cxx 20 Feb 2004 00:43:50 -0000
@@ -1067,8 +1067,10 @@
// XShape
//----------------------------------------------------------------------
+// This code also existed in sch, and those duplicate symbols
+// cause Bad Things To Happen (TM) #i9462#. Prefixing with 'svx'.
-sal_Bool needLogicRectHack( SdrObject* pObj )
+static sal_Bool svx_needLogicRectHack( SdrObject* pObj )
{
if( pObj->GetObjInventor() == SdrInventor)
{
@@ -1096,9 +1098,9 @@
//----------------------------------------------------------------------
-Rectangle getLogicRectHack( SdrObject* pObj )
+static Rectangle svx_getLogicRectHack( SdrObject* pObj )
{
- if(needLogicRectHack(pObj))
+ if(svx_needLogicRectHack(pObj))
{
return pObj->GetSnapRect();
}
@@ -1110,9 +1112,9 @@
//----------------------------------------------------------------------
-void setLogicRectHack( SdrObject* pObj, const Rectangle& rRect )
+static void svx_setLogicRectHack( SdrObject* pObj, const Rectangle& rRect )
{
- if(needLogicRectHack(pObj))
+ if(svx_needLogicRectHack(pObj))
{
pObj->SetSnapRect( rRect );
}
@@ -1130,7 +1132,7 @@
if( pObj && pModel)
{
- Rectangle aRect( getLogicRectHack(pObj) );
+ Rectangle aRect( svx_getLogicRectHack(pObj) );
Point aPt( aRect.Left(), aRect.Top() );
// Position is relativ to anchor, so recalc to absolut position
@@ -1157,7 +1159,7 @@
// transformation matrix
if(!pObj->ISA(E3dCompoundObject))
{
- Rectangle aRect( getLogicRectHack(pObj) );
+ Rectangle aRect( svx_getLogicRectHack(pObj) );
Point aLocalPos( Position.X, Position.Y );
ForceMetricToItemPoolMetric(aLocalPos);
@@ -1183,7 +1185,7 @@
if( pObj && pModel)
{
- Rectangle aRect( getLogicRectHack(pObj) );
+ Rectangle aRect( svx_getLogicRectHack(pObj) );
Size aObjSize( aRect.GetWidth(), aRect.GetHeight() );
ForceMetricTo100th_mm(aObjSize);
return ::com::sun::star::awt::Size( aObjSize.getWidth(), aObjSize.getHeight() );
@@ -1200,7 +1202,7 @@
if( pObj && pModel)
{
- Rectangle aRect( getLogicRectHack(pObj) );
+ Rectangle aRect( svx_getLogicRectHack(pObj) );
Size aLocalSize( rSize.Width, rSize.Height );
ForceMetricToItemPoolMetric(aLocalSize);
if(pObj->GetObjInventor() == SdrInventor && pObj->GetObjIdentifier() == OBJ_MEASURE )
@@ -1213,7 +1215,7 @@
else
{
aRect.SetSize(aLocalSize);
- setLogicRectHack( pObj, aRect );
+ svx_setLogicRectHack( pObj, aRect );
}
pModel->SetChanged();

View file

@ -0,0 +1,67 @@
--- ../sch/source/ui/unoidl/ChXChartObject.cxx 7 Aug 2002 16:01:42 -0000 1.34
+++ ../sch/source/ui/unoidl/ChXChartObject.cxx 20 Feb 2004 00:43:10 -0000
@@ -161,9 +161,11 @@
// XShape
// the following 'Hack' methods are copied from svx/unodraw/unoshape.cxx
-// they are needed as long as the drawing layer requires this
+// they are needed as long as the drawing layer requires this. Must
+// prefix these with 'sch' to make sure the symbols don't conflict with
+// those in svx and cause Bad Things To Happen (TM) #i9462#
-sal_Bool needLogicRectHack( SdrObject* pObj )
+static sal_Bool sch_needLogicRectHack( SdrObject* pObj )
{
if( pObj->GetObjInventor() == SdrInventor)
{
@@ -189,9 +191,9 @@
return sal_False;
}
-Rectangle getLogicRectHack( SdrObject* pObj )
+static Rectangle sch_getLogicRectHack( SdrObject* pObj )
{
- if(needLogicRectHack(pObj))
+ if(sch_needLogicRectHack(pObj))
{
return pObj->GetSnapRect();
}
@@ -201,9 +203,9 @@
}
}
-void setLogicRectHack( SdrObject* pObj, const Rectangle& rRect )
+static void sch_setLogicRectHack( SdrObject* pObj, const Rectangle& rRect )
{
- if(needLogicRectHack(pObj))
+ if(sch_needLogicRectHack(pObj))
{
pObj->SetSnapRect( rRect );
}
@@ -244,7 +246,7 @@
SdrObject* pObj = GetCurrentSdrObject();
if( pObj )
{
- Rectangle aRect( getLogicRectHack( pObj ));
+ Rectangle aRect( sch_getLogicRectHack( pObj ));
Point aPt( aRect.Left(), aRect.Top() );
// Position is relative to anchor - calculate absoulte position
@@ -277,7 +279,7 @@
SdrObject* pObj = GetCurrentSdrObject();
if( pObj )
{
- Rectangle aRect( getLogicRectHack( pObj ) );
+ Rectangle aRect( sch_getLogicRectHack( pObj ) );
Point aLocalPos( aPosition.X, aPosition.Y );
// Position is absolute - position relative to anchor is required
@@ -309,7 +311,7 @@
SdrObject* pObj = GetCurrentSdrObject();
if( pObj )
{
- Rectangle aRect( getLogicRectHack( pObj ));
+ Rectangle aRect( sch_getLogicRectHack( pObj ));
Size aObjSize( aRect.GetWidth(), aRect.GetHeight() );
return awt::Size( aObjSize.getWidth(), aObjSize.getHeight() );
}

View file

@ -0,0 +1,83 @@
--- ../svx/source/unodraw/unoshape.cxx 4 Feb 2004 13:21:23 -0000 1.109
+++ ../svx/source/unodraw/unoshape.cxx 20 Feb 2004 00:43:50 -0000
@@ -1067,8 +1067,10 @@
// XShape
//----------------------------------------------------------------------
+// This code also existed in sch, and those duplicate symbols
+// cause Bad Things To Happen (TM) #i9462#. Prefixing with 'svx'.
-sal_Bool needLogicRectHack( SdrObject* pObj )
+static sal_Bool svx_needLogicRectHack( SdrObject* pObj )
{
if( pObj->GetObjInventor() == SdrInventor)
{
@@ -1096,9 +1098,9 @@
//----------------------------------------------------------------------
-Rectangle getLogicRectHack( SdrObject* pObj )
+static Rectangle svx_getLogicRectHack( SdrObject* pObj )
{
- if(needLogicRectHack(pObj))
+ if(svx_needLogicRectHack(pObj))
{
return pObj->GetSnapRect();
}
@@ -1110,9 +1112,9 @@
//----------------------------------------------------------------------
-void setLogicRectHack( SdrObject* pObj, const Rectangle& rRect )
+static void svx_setLogicRectHack( SdrObject* pObj, const Rectangle& rRect )
{
- if(needLogicRectHack(pObj))
+ if(svx_needLogicRectHack(pObj))
{
pObj->SetSnapRect( rRect );
}
@@ -1130,7 +1132,7 @@
if( pObj && pModel)
{
- Rectangle aRect( getLogicRectHack(pObj) );
+ Rectangle aRect( svx_getLogicRectHack(pObj) );
Point aPt( aRect.Left(), aRect.Top() );
// Position is relativ to anchor, so recalc to absolut position
@@ -1157,7 +1159,7 @@
// transformation matrix
if(!pObj->ISA(E3dCompoundObject))
{
- Rectangle aRect( getLogicRectHack(pObj) );
+ Rectangle aRect( svx_getLogicRectHack(pObj) );
Point aLocalPos( Position.X, Position.Y );
ForceMetricToItemPoolMetric(aLocalPos);
@@ -1183,7 +1185,7 @@
if( pObj && pModel)
{
- Rectangle aRect( getLogicRectHack(pObj) );
+ Rectangle aRect( svx_getLogicRectHack(pObj) );
Size aObjSize( aRect.GetWidth(), aRect.GetHeight() );
ForceMetricTo100th_mm(aObjSize);
return ::com::sun::star::awt::Size( aObjSize.getWidth(), aObjSize.getHeight() );
@@ -1200,7 +1202,7 @@
if( pObj && pModel)
{
- Rectangle aRect( getLogicRectHack(pObj) );
+ Rectangle aRect( svx_getLogicRectHack(pObj) );
Size aLocalSize( rSize.Width, rSize.Height );
ForceMetricToItemPoolMetric(aLocalSize);
if(pObj->GetObjInventor() == SdrInventor && pObj->GetObjIdentifier() == OBJ_MEASURE )
@@ -1213,7 +1215,7 @@
else
{
aRect.SetSize(aLocalSize);
- setLogicRectHack( pObj, aRect );
+ svx_setLogicRectHack( pObj, aRect );
}
pModel->SetChanged();

View file

@ -0,0 +1,67 @@
--- ../sch/source/ui/unoidl/ChXChartObject.cxx 7 Aug 2002 16:01:42 -0000 1.34
+++ ../sch/source/ui/unoidl/ChXChartObject.cxx 20 Feb 2004 00:43:10 -0000
@@ -161,9 +161,11 @@
// XShape
// the following 'Hack' methods are copied from svx/unodraw/unoshape.cxx
-// they are needed as long as the drawing layer requires this
+// they are needed as long as the drawing layer requires this. Must
+// prefix these with 'sch' to make sure the symbols don't conflict with
+// those in svx and cause Bad Things To Happen (TM) #i9462#
-sal_Bool needLogicRectHack( SdrObject* pObj )
+static sal_Bool sch_needLogicRectHack( SdrObject* pObj )
{
if( pObj->GetObjInventor() == SdrInventor)
{
@@ -189,9 +191,9 @@
return sal_False;
}
-Rectangle getLogicRectHack( SdrObject* pObj )
+static Rectangle sch_getLogicRectHack( SdrObject* pObj )
{
- if(needLogicRectHack(pObj))
+ if(sch_needLogicRectHack(pObj))
{
return pObj->GetSnapRect();
}
@@ -201,9 +203,9 @@
}
}
-void setLogicRectHack( SdrObject* pObj, const Rectangle& rRect )
+static void sch_setLogicRectHack( SdrObject* pObj, const Rectangle& rRect )
{
- if(needLogicRectHack(pObj))
+ if(sch_needLogicRectHack(pObj))
{
pObj->SetSnapRect( rRect );
}
@@ -244,7 +246,7 @@
SdrObject* pObj = GetCurrentSdrObject();
if( pObj )
{
- Rectangle aRect( getLogicRectHack( pObj ));
+ Rectangle aRect( sch_getLogicRectHack( pObj ));
Point aPt( aRect.Left(), aRect.Top() );
// Position is relative to anchor - calculate absoulte position
@@ -277,7 +279,7 @@
SdrObject* pObj = GetCurrentSdrObject();
if( pObj )
{
- Rectangle aRect( getLogicRectHack( pObj ) );
+ Rectangle aRect( sch_getLogicRectHack( pObj ) );
Point aLocalPos( aPosition.X, aPosition.Y );
// Position is absolute - position relative to anchor is required
@@ -309,7 +311,7 @@
SdrObject* pObj = GetCurrentSdrObject();
if( pObj )
{
- Rectangle aRect( getLogicRectHack( pObj ));
+ Rectangle aRect( sch_getLogicRectHack( pObj ));
Size aObjSize( aRect.GetWidth(), aRect.GetHeight() );
return awt::Size( aObjSize.getWidth(), aObjSize.getHeight() );
}

View file

@ -0,0 +1,83 @@
--- ../svx/source/unodraw/unoshape.cxx 4 Feb 2004 13:21:23 -0000 1.109
+++ ../svx/source/unodraw/unoshape.cxx 20 Feb 2004 00:43:50 -0000
@@ -1067,8 +1067,10 @@
// XShape
//----------------------------------------------------------------------
+// This code also existed in sch, and those duplicate symbols
+// cause Bad Things To Happen (TM) #i9462#. Prefixing with 'svx'.
-sal_Bool needLogicRectHack( SdrObject* pObj )
+static sal_Bool svx_needLogicRectHack( SdrObject* pObj )
{
if( pObj->GetObjInventor() == SdrInventor)
{
@@ -1096,9 +1098,9 @@
//----------------------------------------------------------------------
-Rectangle getLogicRectHack( SdrObject* pObj )
+static Rectangle svx_getLogicRectHack( SdrObject* pObj )
{
- if(needLogicRectHack(pObj))
+ if(svx_needLogicRectHack(pObj))
{
return pObj->GetSnapRect();
}
@@ -1110,9 +1112,9 @@
//----------------------------------------------------------------------
-void setLogicRectHack( SdrObject* pObj, const Rectangle& rRect )
+static void svx_setLogicRectHack( SdrObject* pObj, const Rectangle& rRect )
{
- if(needLogicRectHack(pObj))
+ if(svx_needLogicRectHack(pObj))
{
pObj->SetSnapRect( rRect );
}
@@ -1130,7 +1132,7 @@
if( pObj && pModel)
{
- Rectangle aRect( getLogicRectHack(pObj) );
+ Rectangle aRect( svx_getLogicRectHack(pObj) );
Point aPt( aRect.Left(), aRect.Top() );
// Position is relativ to anchor, so recalc to absolut position
@@ -1157,7 +1159,7 @@
// transformation matrix
if(!pObj->ISA(E3dCompoundObject))
{
- Rectangle aRect( getLogicRectHack(pObj) );
+ Rectangle aRect( svx_getLogicRectHack(pObj) );
Point aLocalPos( Position.X, Position.Y );
ForceMetricToItemPoolMetric(aLocalPos);
@@ -1183,7 +1185,7 @@
if( pObj && pModel)
{
- Rectangle aRect( getLogicRectHack(pObj) );
+ Rectangle aRect( svx_getLogicRectHack(pObj) );
Size aObjSize( aRect.GetWidth(), aRect.GetHeight() );
ForceMetricTo100th_mm(aObjSize);
return ::com::sun::star::awt::Size( aObjSize.getWidth(), aObjSize.getHeight() );
@@ -1200,7 +1202,7 @@
if( pObj && pModel)
{
- Rectangle aRect( getLogicRectHack(pObj) );
+ Rectangle aRect( svx_getLogicRectHack(pObj) );
Size aLocalSize( rSize.Width, rSize.Height );
ForceMetricToItemPoolMetric(aLocalSize);
if(pObj->GetObjInventor() == SdrInventor && pObj->GetObjIdentifier() == OBJ_MEASURE )
@@ -1213,7 +1215,7 @@
else
{
aRect.SetSize(aLocalSize);
- setLogicRectHack( pObj, aRect );
+ svx_setLogicRectHack( pObj, aRect );
}
pModel->SetChanged();