vcl/headless/CairoCommon.cxx | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)
New commits: commit b1b77b4005ceaeb2b9bc11d8a405bb5a467e1d86 Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Mon Nov 28 09:14:22 2022 +0000 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Mon Nov 28 11:16:51 2022 +0100 ofz#53820 Direct-leak cairo_get_source leaks if cairo is in an error state Change-Id: I1ddcf801d5a3fc0944f14001cbc7d152b2071c89 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143364 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> diff --git a/vcl/headless/CairoCommon.cxx b/vcl/headless/CairoCommon.cxx index 322b1e838463..4f3a4e869746 100644 --- a/vcl/headless/CairoCommon.cxx +++ b/vcl/headless/CairoCommon.cxx @@ -911,9 +911,12 @@ basegfx::B2DRange renderWithOperator(cairo_t* cr, const SalTwoRect& rTR, cairo_s cairo_save(cr); cairo_set_source_surface(cr, source, -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_set_operator(cr, eOperator); cairo_paint(cr);