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.
This commit is contained in:
parent
06484b6946
commit
24b449b7fc
@ -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);
|
||||
|
@ -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)),
|
||||
|
Loading…
x
Reference in New Issue
Block a user