diff options
author | Michael Stahl <mstahl@redhat.com> | 2012-03-09 15:35:36 +0100 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2012-03-09 15:40:00 +0100 |
commit | 24b449b7fcaaee20ef8feebfd64fc761535f77a8 (patch) | |
tree | 95f25147a473362272b3bd0bb6dc4a30ee1f1dfe /cppcanvas | |
parent | 06484b6946ac6a974c24af6624fb75bbe298c1e8 (diff) |
cppcanvas: processEMFPlus: fix valgrind warning:
When reading EmfPlusRecordTypeDrawImagePoints, handle the variant where
points are stored as 16-bit integers instead of floats correctly.
Found via valgrind on loading bugdoc from fdo#42252.
Diffstat (limited to 'cppcanvas')
-rw-r--r-- | cppcanvas/source/inc/implrenderer.hxx | 2 | ||||
-rw-r--r-- | cppcanvas/source/mtfrenderer/emfplus.cxx | 6 |
2 files changed, 4 insertions, 4 deletions
diff --git a/cppcanvas/source/inc/implrenderer.hxx b/cppcanvas/source/inc/implrenderer.hxx index d41d50410fa2..034af027699c 100644 --- a/cppcanvas/source/inc/implrenderer.hxx +++ b/cppcanvas/source/inc/implrenderer.hxx @@ -215,7 +215,7 @@ static float GetSwapFloat( SvStream& rSt ) /* EMF+ */ void ReadRectangle (SvStream& s, float& x, float& y, float &width, float& height, sal_uInt32 flags = 0); - void ReadPoint (SvStream& s, float& x, float& y, sal_uInt32 flags = 0); + void ReadPoint (SvStream& s, float& x, float& y, sal_uInt32 flags); void MapToDevice (double &x, double &y); ::basegfx::B2DPoint Map (double ix, double iy); ::basegfx::B2DSize MapSize (double iwidth, double iheight); diff --git a/cppcanvas/source/mtfrenderer/emfplus.cxx b/cppcanvas/source/mtfrenderer/emfplus.cxx index 953a0c86467b..4c92728e57d7 100644 --- a/cppcanvas/source/mtfrenderer/emfplus.cxx +++ b/cppcanvas/source/mtfrenderer/emfplus.cxx @@ -1406,9 +1406,9 @@ namespace cppcanvas if (unknown == 3) { // it probably means number of points defining destination rectangle float x1, y1, x2, y2, x3, y3; - ReadPoint (rMF, x1, y1); - ReadPoint (rMF, x2, y2); - ReadPoint (rMF, x3, y3); + ReadPoint (rMF, x1, y1, flags); + ReadPoint (rMF, x2, y2, flags); + ReadPoint (rMF, x3, y3, flags); BitmapEx aBmp( image.graphic.GetBitmapEx () ); const Rectangle aCropRect (::vcl::unotools::pointFromB2DPoint (Map (sx, sy)), |