summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2021-04-09 13:58:28 +0200
committerCaolán McNamara <caolanm@redhat.com>2021-04-09 15:55:09 +0200
commit9940630266686d306fc2bc0ac3c20231f7f3d532 (patch)
treee52c28fa11e3bd52dec3eb23289513042991b84d /vcl
parent25528082a91bd2a3f4b3a3773e999ffd5da85d83 (diff)
fix small cairo leak in gen backend
Change-Id: I57b8cd00d252cef2699d499b9080f829be9098da Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113847 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'vcl')
-rw-r--r--vcl/headless/svpgdi.cxx5
1 files changed, 3 insertions, 2 deletions
diff --git a/vcl/headless/svpgdi.cxx b/vcl/headless/svpgdi.cxx
index 24eb3c9af741..84d0d3b02d2c 100644
--- a/vcl/headless/svpgdi.cxx
+++ b/vcl/headless/svpgdi.cxx
@@ -1989,6 +1989,7 @@ bool SvpSalGraphics::drawGradient(const tools::PolyPolygon& rPolyPolygon, const
1.0);
cairo_set_source(cr, pattern);
+ cairo_pattern_destroy(pattern);
basegfx::B2DRange extents = getClippedFillDamage(cr);
cairo_fill_preserve(cr);
@@ -2008,8 +2009,7 @@ bool SvpSalGraphics::implDrawGradient(basegfx::B2DPolyPolygon const & rPolyPolyg
for (auto const & rPolygon : rPolyPolygon)
AddPolygonToPath(cr, rPolygon, rObjectToDevice, !getAntiAlias(), false);
- cairo_pattern_t* pattern;
- pattern = cairo_pattern_create_linear(rGradient.maPoint1.getX(), rGradient.maPoint1.getY(), rGradient.maPoint2.getX(), rGradient.maPoint2.getY());
+ cairo_pattern_t* pattern = cairo_pattern_create_linear(rGradient.maPoint1.getX(), rGradient.maPoint1.getY(), rGradient.maPoint2.getX(), rGradient.maPoint2.getY());
for (SalGradientStop const & rStop : rGradient.maStops)
{
@@ -2022,6 +2022,7 @@ bool SvpSalGraphics::implDrawGradient(basegfx::B2DPolyPolygon const & rPolyPolyg
cairo_pattern_add_color_stop_rgba(pattern, offset, r, g, b, a);
}
cairo_set_source(cr, pattern);
+ cairo_pattern_destroy(pattern);
basegfx::B2DRange extents = getClippedFillDamage(cr);
cairo_fill_preserve(cr);