vcl/headless/SvpGraphicsBackend.cxx | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)
New commits: commit 937a96c7b8e9c02b6cc7dde3f2822d03c3c1cb4d Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Thu Oct 13 17:02:43 2022 +0100 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Fri Oct 14 09:52:52 2022 +0200 ofz#52337 Direct-leak cairo starts leaking things when a surface is in an error state Change-Id: I0be0d9f8e3c8938073cec1aa765ab82826ceb6d9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141335 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> diff --git a/vcl/headless/SvpGraphicsBackend.cxx b/vcl/headless/SvpGraphicsBackend.cxx index 21917cd4a258..a0bbd789b9a0 100644 --- a/vcl/headless/SvpGraphicsBackend.cxx +++ b/vcl/headless/SvpGraphicsBackend.cxx @@ -528,9 +528,12 @@ void SvpGraphicsBackend::drawMask(const SalTwoRect& rTR, const SalBitmap& rSalBi cairo_scale(cr, fXScale, fYScale); cairo_set_source_surface(cr, aSurface.getSurface(), -rTR.mnSrcX, -rTR.mnSrcY); - //tdf#133716 borders of upscaled images should not be blurred - cairo_pattern_t* sourcepattern = cairo_get_source(cr); - cairo_pattern_set_extend(sourcepattern, CAIRO_EXTEND_PAD); + if (cairo_status(cr) == CAIRO_STATUS_SUCCESS) + { + //tdf#133716 borders of upscaled images should not be blurred + cairo_pattern_t* sourcepattern = cairo_get_source(cr); + cairo_pattern_set_extend(sourcepattern, CAIRO_EXTEND_PAD); + } cairo_paint(cr);