From 96e8524ce12bfc635cdd7abd3137c6da719e6e7d Mon Sep 17 00:00:00 2001 From: Lars-Peter Clausen Date: Sat, 23 Aug 2008 12:51:10 +0000 Subject: [PATCH] Don't crash if the index of the last segment is out of range. 2008-08-23 Lars-Peter Clausen * tools/pdbgen/pdb/gradient.pdb (gimp_gradient_segment_range_blend_(colors|opacity)): Don't crash if the index of the last segment is out of range. * app/pdb/gradient-cmds.c: regenerated. svn path=/trunk/; revision=26723 --- ChangeLog | 8 ++++++++ app/pdb/gradient-cmds.c | 8 +++++++- tools/pdbgen/pdb/gradient.pdb | 8 +++++++- 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 86a7a53c08..e914558fc4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2008-08-23 Lars-Peter Clausen + + * tools/pdbgen/pdb/gradient.pdb + (gimp_gradient_segment_range_blend_(colors|opacity)): Don't crash + if the index of the last segment is out of range. + + * app/pdb/gradient-cmds.c: regenerated. + 2008-08-23 Sven Neumann * plug-ins/twain/Makefile.am: dropped use of AM_LDFLAGS completely diff --git a/app/pdb/gradient-cmds.c b/app/pdb/gradient-cmds.c index 22ea7d551b..15632f718b 100644 --- a/app/pdb/gradient-cmds.c +++ b/app/pdb/gradient-cmds.c @@ -1304,7 +1304,10 @@ gradient_segment_range_blend_colors_invoker (GimpProcedure *procedure, if (start_seg) { - gimp_gradient_segment_range_blend (gradient, + if (!end_seg) + end_seg = gimp_gradient_segment_get_last (start_seg); + + gimp_gradient_segment_range_blend (gradient, start_seg, end_seg, &start_seg->left_color, &end_seg->right_color, @@ -1346,6 +1349,9 @@ gradient_segment_range_blend_opacity_invoker (GimpProcedure *procedure, if (start_seg) { + if (!end_seg) + end_seg = gimp_gradient_segment_get_last (start_seg); + gimp_gradient_segment_range_blend (gradient, start_seg, end_seg, &start_seg->left_color, diff --git a/tools/pdbgen/pdb/gradient.pdb b/tools/pdbgen/pdb/gradient.pdb index 84cfc8800e..bcb3f269a4 100644 --- a/tools/pdbgen/pdb/gradient.pdb +++ b/tools/pdbgen/pdb/gradient.pdb @@ -1252,7 +1252,10 @@ HELP if (start_seg) { - gimp_gradient_segment_range_blend (gradient, + if (!end_seg) + end_seg = gimp_gradient_segment_get_last (start_seg); + + gimp_gradient_segment_range_blend (gradient, start_seg, end_seg, &start_seg->left_color, &end_seg->right_color, @@ -1298,6 +1301,9 @@ HELP if (start_seg) { + if (!end_seg) + end_seg = gimp_gradient_segment_get_last (start_seg); + gimp_gradient_segment_range_blend (gradient, start_seg, end_seg, &start_seg->left_color,