summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorIvo Hinkelmann <ihi@openoffice.org>2009-04-02 14:21:17 +0000
committerIvo Hinkelmann <ihi@openoffice.org>2009-04-02 14:21:17 +0000
commit17b430be6f988a7c4eedd1ee5c433b49815eaccd (patch)
treeb70fc4484371cc4bbe32e06c98743a7bc576f5a7 /vcl
parent06b431efe124c62f416da758fd8678e07e77c2f7 (diff)
CWS-TOOLING: integrate CWS ooo31gsl7_DEV300
2009-03-25 16:03:41 +0100 hdu r270032 : #i100522# workaround for PDF-export problem with 180-rotated text 2009-03-25 13:42:11 +0100 hdu r270022 : #i100406# fix xrender resource leak in polygon drawing
Diffstat (limited to 'vcl')
-rw-r--r--vcl/source/gdi/pdfwriter_impl.cxx1
-rw-r--r--vcl/unx/source/gdi/salgdi.cxx5
2 files changed, 6 insertions, 0 deletions
diff --git a/vcl/source/gdi/pdfwriter_impl.cxx b/vcl/source/gdi/pdfwriter_impl.cxx
index bf9e693d081c..05067ee2d024 100644
--- a/vcl/source/gdi/pdfwriter_impl.cxx
+++ b/vcl/source/gdi/pdfwriter_impl.cxx
@@ -6680,6 +6680,7 @@ void PDFWriterImpl::drawHorizontalGlyphs(
appendHex( rGlyphs[nPos].m_nMappedGlyphId, aUnkernedLine );
// check for adjustment
double fTheoreticalGlyphWidth = rGlyphs[nPos].m_aPos.X() - rGlyphs[nPos-1].m_aPos.X();
+ fTheoreticalGlyphWidth = fabs( fTheoreticalGlyphWidth ); // #i100522# workaround until #i87686# gets fixed
fTheoreticalGlyphWidth = 1000.0 * fTheoreticalGlyphWidth / fXScale / double(nPixelFontHeight);
sal_Int32 nAdjustment = rGlyphs[nPos-1].m_nNativeWidth - sal_Int32(fTheoreticalGlyphWidth+0.5);
if( nAdjustment != 0 )
diff --git a/vcl/unx/source/gdi/salgdi.cxx b/vcl/unx/source/gdi/salgdi.cxx
index 1d61dbe214a2..6d7812828a10 100644
--- a/vcl/unx/source/gdi/salgdi.cxx
+++ b/vcl/unx/source/gdi/salgdi.cxx
@@ -1385,6 +1385,7 @@ bool X11SalGraphics::drawPolyPolygon( const ::basegfx::B2DPolyPolygon& rPolyPoly
rRenderPeer.FillRectangle( PictOpSrc, rEntry.m_aPicture, &aRenderColor, 0, 0, 1, 1 );
// notify xrender of target drawable
+ // TODO: cache the matching xrender picture in the X11SalGraphics
Picture aDst = rRenderPeer.CreatePicture( hDrawable_, pVisualFormat, 0, NULL );
// set clipping
@@ -1396,6 +1397,10 @@ bool X11SalGraphics::drawPolyPolygon( const ::basegfx::B2DPolyPolygon& rPolyPoly
rRenderPeer.CompositeTrapezoids( PictOpOver,
rEntry.m_aPicture, aDst, pMaskFormat, 0, 0, &aTrapVector[0], aTrapVector.size() );
+ // release xrender-counterpart of target drawable
+ // TODO: use scoped xrender picture
+ rRenderPeer.FreePicture( aDst );
+
return TRUE;
}