diff options
author | Slávek Banko <slavek.banko@axis.cz> | 2022-03-09 21:29:36 +0100 |
---|---|---|
committer | Slávek Banko <slavek.banko@axis.cz> | 2022-03-09 22:30:17 +0100 |
commit | 4df3893c309d00e3710cbf8def6309c9af0abbd8 (patch) | |
tree | 0dd70d1435810a7a6a9ca4155f92549b3ca62a7d | |
parent | beb97c21901cc710fbd864ea6b68cb5aa56f802c (diff) | |
download | tdelibs-4df3893c309d00e3710cbf8def6309c9af0abbd8.tar.gz tdelibs-4df3893c309d00e3710cbf8def6309c9af0abbd8.zip |
svgicons: Prevent a crash in case of a problem with the SVG image.
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
-rw-r--r-- | tdecore/svgicons/ksvgiconpainter.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/tdecore/svgicons/ksvgiconpainter.cpp b/tdecore/svgicons/ksvgiconpainter.cpp index e0e2a2ce9..9eaf81665 100644 --- a/tdecore/svgicons/ksvgiconpainter.cpp +++ b/tdecore/svgicons/ksvgiconpainter.cpp @@ -217,6 +217,10 @@ public: return; ArtRender *render = art_render_new(0, 0, m_width, m_height, m_buffer, m_rowstride, 3, 8, ART_ALPHA_SEPARATE, 0); + if(!render) + { + return; + } art_render_svp(render, svp); art_render_mask_solid(render, (opacity << 8) + opacity + (opacity >> 7)); @@ -475,6 +479,10 @@ public: linear->c = -(x1n * linear->a + y1n * linear->b); ArtRender *render = art_render_new(0, 0, m_width, m_height, m_buffer, m_rowstride, 3, 8, ART_ALPHA_SEPARATE, 0); + if(!render) + { + return; + } art_render_svp(render, svp); art_render_gradient_linear(render, linear, ART_FILTER_HYPER); @@ -546,6 +554,10 @@ public: art_affine_invert(radial->affine, aff1); ArtRender *render = art_render_new(0, 0, m_width, m_height, m_buffer, m_rowstride, 3, 8, ART_ALPHA_SEPARATE, 0); + if(!render) + { + render; + } art_render_svp(render, svp); art_render_gradient_radial(render, radial, ART_FILTER_HYPER); |