[ooo-build-commit] patches/dev300
Thorsten Behrens
thorsten at kemper.freedesktop.org
Tue Aug 4 11:57:59 PDT 2009
patches/dev300/apply | 1
patches/dev300/ppt-customshape-shading-fix.diff | 40 +++++++++++++-----------
patches/dev300/svx-fontwork-crash-fix.diff | 24 ++++++++++++++
3 files changed, 47 insertions(+), 18 deletions(-)
New commits:
commit a954aa33b806464f490edd2fa9ddd73af4f770b7
Author: Thorsten Behrens <tbehrens at novell.com>
Date: Tue Aug 4 20:55:03 2009 +0200
Improve gradient fix, prevent crash in fontwork
* patches/dev300/apply: added fontwork fix
* patches/dev300/ppt-customshape-shading-fix.diff: only modify
polygons when a *fill* is requested - this avoids messing with
fontwork glyph polygons, which otherwise look ugly
* patches/dev300/svx-fontwork-crash-fix.diff: avoid obvious crash
for single-point polygons in fontwork
diff --git a/patches/dev300/apply b/patches/dev300/apply
index f2a8d33..ecfda6f 100644
--- a/patches/dev300/apply
+++ b/patches/dev300/apply
@@ -3324,6 +3324,7 @@ basegfx-color-tools.diff, thorsten
# much improved surface shades, gradient color for customshapes
ppt-customshape-shading-fix.diff, n#485637, thorsten
+svx-fontwork-crash-fix.diff, n#526342, thorsten
# purge autoshape geometry on model change
svx-autoshape-cache-purge.diff, n#520104, thorsten
diff --git a/patches/dev300/ppt-customshape-shading-fix.diff b/patches/dev300/ppt-customshape-shading-fix.diff
index 71bc91b..80c8b88 100644
--- a/patches/dev300/ppt-customshape-shading-fix.diff
+++ b/patches/dev300/ppt-customshape-shading-fix.diff
@@ -5,14 +5,14 @@ From: Thorsten Behrens <thb at openoffice.org>
---
- svx/source/customshapes/EnhancedCustomShape2d.cxx | 248 +++++++++++++--------
+ svx/source/customshapes/EnhancedCustomShape2d.cxx | 252 +++++++++++++--------
svx/source/customshapes/EnhancedCustomShape2d.hxx | 5
svx/source/msfilter/msdffimp.cxx | 9 -
- 3 files changed, 160 insertions(+), 102 deletions(-)
+ 3 files changed, 164 insertions(+), 102 deletions(-)
diff --git svx/source/customshapes/EnhancedCustomShape2d.cxx svx/source/customshapes/EnhancedCustomShape2d.cxx
-index 0361511..796cd40 100644
+index 0361511..daf4454 100644
--- svx/source/customshapes/EnhancedCustomShape2d.cxx
+++ svx/source/customshapes/EnhancedCustomShape2d.cxx
@@ -55,6 +55,12 @@
@@ -195,24 +195,28 @@ index 0361511..796cd40 100644
}
Rectangle EnhancedCustomShape2d::GetTextRect() const
-@@ -1713,6 +1727,16 @@ void EnhancedCustomShape2d::CreateSubPath( sal_uInt16& rSrcPt, sal_uInt16& rSegm
+@@ -1713,6 +1727,20 @@ void EnhancedCustomShape2d::CreateSubPath( sal_uInt16& rSrcPt, sal_uInt16& rSegm
if(aNewB2DPolyPolygon.count())
{
-+ // hack aNewB2DPolyPolygon to fill logic rect
-+ aNewB2DPolygon.clear();
-+ aNewB2DPolygon.append(basegfx::B2DPoint(0,0));
-+ aNewB2DPolyPolygon.append(aNewB2DPolygon);
++ if( !bLineGeometryNeededOnly )
++ {
++ // hack aNewB2DPolyPolygon to fill logic rect - this is
++ // needed to produce gradient fills that look like mso
++ aNewB2DPolygon.clear();
++ aNewB2DPolygon.append(basegfx::B2DPoint(0,0));
++ aNewB2DPolyPolygon.append(aNewB2DPolygon);
+
-+ aNewB2DPolygon.clear();
-+ aNewB2DPolygon.append(basegfx::B2DPoint(aLogicRect.GetWidth(),
-+ aLogicRect.GetHeight()));
-+ aNewB2DPolyPolygon.append(aNewB2DPolygon);
++ aNewB2DPolygon.clear();
++ aNewB2DPolygon.append(basegfx::B2DPoint(aLogicRect.GetWidth(),
++ aLogicRect.GetHeight()));
++ aNewB2DPolyPolygon.append(aNewB2DPolygon);
++ }
+
// #i37011#
bool bForceCreateTwoObjects(false);
-@@ -1882,6 +1906,78 @@ void CorrectCalloutArrows( MSO_SPT eSpType, sal_uInt32 nLineObjectCount, std::ve
+@@ -1882,6 +1910,78 @@ void CorrectCalloutArrows( MSO_SPT eSpType, sal_uInt32 nLineObjectCount, std::ve
}
}
@@ -291,7 +295,7 @@ index 0361511..796cd40 100644
SdrObject* EnhancedCustomShape2d::CreatePathObj( sal_Bool bLineGeometryNeededOnly )
{
-@@ -1906,18 +2002,10 @@ SdrObject* EnhancedCustomShape2d::CreatePathObj( sal_Bool bLineGeometryNeededOnl
+@@ -1906,18 +2006,10 @@ SdrObject* EnhancedCustomShape2d::CreatePathObj( sal_Bool bLineGeometryNeededOnl
if ( vObjectList.size() )
{
const SfxItemSet& rCustomShapeSet = pCustomShapeObj->GetMergedItemSet();
@@ -310,7 +314,7 @@ index 0361511..796cd40 100644
// #i37011# remove invisible objects
if(vObjectList.size())
{
-@@ -1927,7 +2015,7 @@ SdrObject* EnhancedCustomShape2d::CreatePathObj( sal_Bool bLineGeometryNeededOnl
+@@ -1927,7 +2019,7 @@ SdrObject* EnhancedCustomShape2d::CreatePathObj( sal_Bool bLineGeometryNeededOnl
{
SdrPathObj* pObj(vObjectList[i]);
const XLineStyle eLineStyle = ((const XLineStyleItem&)pObj->GetMergedItem(XATTR_LINESTYLE)).GetValue();
@@ -319,7 +323,7 @@ index 0361511..796cd40 100644
//SJ: #i40600# if bLineGeometryNeededOnly is set linystyle does not matter
if( !bLineGeometryNeededOnly && ( XLINE_NONE == eLineStyle ) && ( XFILL_NONE == eFillStyle ) )
-@@ -1942,26 +2030,7 @@ SdrObject* EnhancedCustomShape2d::CreatePathObj( sal_Bool bLineGeometryNeededOnl
+@@ -1942,26 +2034,7 @@ SdrObject* EnhancedCustomShape2d::CreatePathObj( sal_Bool bLineGeometryNeededOnl
if(1L == vObjectList.size())
{
// a single object, correct some values
@@ -347,7 +351,7 @@ index 0361511..796cd40 100644
}
else
{
-@@ -1980,16 +2049,7 @@ SdrObject* EnhancedCustomShape2d::CreatePathObj( sal_Bool bLineGeometryNeededOnl
+@@ -1980,16 +2053,7 @@ SdrObject* EnhancedCustomShape2d::CreatePathObj( sal_Bool bLineGeometryNeededOnl
else
{
nAreaObjectCount++;
@@ -382,7 +386,7 @@ index 9d0f04b..fc28b3d 100644
const sal_Bool bReplaceGeoWidth, const sal_Bool bReplaceGeoHeight ) const;
Point GetPoint( const com::sun::star::drawing::EnhancedCustomShapeParameterPair&,
diff --git svx/source/msfilter/msdffimp.cxx svx/source/msfilter/msdffimp.cxx
-index 05ae58c..cf4a5df 100644
+index 0ef0d6e..98b96cf 100644
--- svx/source/msfilter/msdffimp.cxx
+++ svx/source/msfilter/msdffimp.cxx
@@ -1668,12 +1668,7 @@ void DffPropertyReader::ApplyFillAttributes( SvStream& rIn, SfxItemSet& rSet, co
diff --git a/patches/dev300/svx-fontwork-crash-fix.diff b/patches/dev300/svx-fontwork-crash-fix.diff
new file mode 100644
index 0000000..dab5736
--- /dev/null
+++ b/patches/dev300/svx-fontwork-crash-fix.diff
@@ -0,0 +1,24 @@
+Fix crash in fontwork
+
+From: Thorsten Behrens <thb at openoffice.org>
+
+
+---
+
+ .../customshapes/EnhancedCustomShapeFontWork.cxx | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+
+diff --git svx/source/customshapes/EnhancedCustomShapeFontWork.cxx svx/source/customshapes/EnhancedCustomShapeFontWork.cxx
+index dfcebaa..2345036 100644
+--- svx/source/customshapes/EnhancedCustomShapeFontWork.cxx
++++ svx/source/customshapes/EnhancedCustomShapeFontWork.cxx
+@@ -639,7 +639,7 @@ void InsertMissingOutlinePoints( const Polygon& /*rOutlinePoly*/, const std::vec
+ void GetPoint( const Polygon& rPoly, const std::vector< double >& rDistances, const double& fX, double& fx1, double& fy1 )
+ {
+ fy1 = fx1 = 0.0;
+- if ( rPoly.GetSize() )
++ if ( rPoly.GetSize() > 1 )
+ {
+ std::vector< double >::const_iterator aIter = std::lower_bound( rDistances.begin(), rDistances.end(), fX );
+ sal_uInt16 nIdx = sal::static_int_cast<sal_uInt16>( std::distance( rDistances.begin(), aIter ) );
More information about the ooo-build-commit
mailing list