From b580628e4f9c4ffbc831c27d8a3b2fd915b801d7 Mon Sep 17 00:00:00 2001 From: Sven Neumann Date: Tue, 27 Jul 2004 19:34:27 +0000 Subject: [PATCH] don't leak empty SVG gradients. 2004-07-27 Sven Neumann * app/core/gimpgradient-load.c: don't leak empty SVG gradients. --- ChangeLog | 4 ++++ NEWS | 2 ++ app/core/gimpgradient-load.c | 12 +++++++++--- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index b677f9a013..a15fbd728e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2004-07-27 Sven Neumann + + * app/core/gimpgradient-load.c: don't leak empty SVG gradients. + 2004-07-27 Sven Neumann * app/actions/image-commands.c: include "libgimpbase/gimpbase.h", diff --git a/NEWS b/NEWS index eaf4dd6169..aeb344d8ad 100644 --- a/NEWS +++ b/NEWS @@ -34,6 +34,8 @@ Overview of Changes in GIMP 2.1.3 - Renamed GimpColor boxed type to GimpRGB and moved it to libgimpcolor. +- Moved GIMP_TYPE_UNIT and GIMP_TYPE_MEMSIZE to libgimpbase. + - Fixes to the BMP loader plug-in (bug #143682). - Fixes to the Decompose plug-in (bug #147603). diff --git a/app/core/gimpgradient-load.c b/app/core/gimpgradient-load.c index 5987c1681a..90c278dfc6 100644 --- a/app/core/gimpgradient-load.c +++ b/app/core/gimpgradient-load.c @@ -334,7 +334,6 @@ svg_parser_end_element (GMarkupParseContext *context, SvgParser *parser = user_data; if (parser->gradient && - parser->stops && strcmp (element_name, "linearGradient") == 0) { parser->gradient->segments = svg_parser_gradient_segments (parser->stops); @@ -352,10 +351,17 @@ svg_parser_end_element (GMarkupParseContext *context, static GimpGradientSegment * svg_parser_gradient_segments (GList *stops) { - GimpGradientSegment *segment = gimp_gradient_segment_new (); - SvgStop *stop = stops->data; + GimpGradientSegment *segment; + SvgStop *stop; GList *list; + if (! stops) + return NULL; + + stop = stops->data; + + segment = gimp_gradient_segment_new (); + segment->left_color = stop->color; segment->right_color = stop->color;