From 95e9b7b2d1a5bb6776eef89461b63ab3dc01f34f Mon Sep 17 00:00:00 2001 From: Katarina Behrens Date: Fri, 26 Apr 2019 17:12:41 +0200 Subject: tdf#120797: Apply transformation also to the extents of damage MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit since 7034311dce663c895577267110baadbec312d491 affine transformation is passed down to drawPolyPolygon and drawPolyLine functions. The transformation was correctly applied to cairo context, but not the extents of damage so those had old, untransformed coordinates and were therefore not redrawn Change-Id: I61ce005ef8770ce5c4560a9d953cd92f440043be Reviewed-on: https://gerrit.libreoffice.org/71383 Reviewed-by: Caolán McNamara Tested-by: Caolán McNamara --- vcl/headless/svpgdi.cxx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/vcl/headless/svpgdi.cxx b/vcl/headless/svpgdi.cxx index 2cf49ca17696..1c36f351b538 100644 --- a/vcl/headless/svpgdi.cxx +++ b/vcl/headless/svpgdi.cxx @@ -1144,6 +1144,9 @@ bool SvpSalGraphics::drawPolyLine( fMiterMinimumAngle, bPixelSnapHairline)); + // if transformation has been applied, transform also extents (ranges) + // of damage so they can be correctly redrawn + aExtents.transform(rObjectToDevice); releaseCairoContext(cr, false, aExtents); return bRetval; @@ -1491,6 +1494,9 @@ bool SvpSalGraphics::drawPolyPolygon( cairo_stroke_preserve(cr); } + // if transformation has been applied, transform also extents (ranges) + // of damage so they can be correctly redrawn + extents.transform(rObjectToDevice); releaseCairoContext(cr, true, extents); return true; -- cgit