From 267462eb62ec76c1e499bb9977522ebaa586efb3 Mon Sep 17 00:00:00 2001 From: Martin Nordholts Date: Sun, 18 May 2008 13:10:23 +0000 Subject: [PATCH] Applied patch from Alexia Death that makes velocity dynamics controlled 2008-05-18 Martin Nordholts Applied patch from Alexia Death that makes velocity dynamics controlled scale properly recalculate the brush mask when necessary (bug #533618). * app/paint/gimpbrushcore.[ch] (gimp_brush_core_scale_mask): A change in scale requires a recalculation of the cached brush mask. svn path=/trunk/; revision=25696 --- ChangeLog | 9 +++++++++ app/paint/gimpbrushcore.c | 13 +++++++------ app/paint/gimpbrushcore.h | 1 + 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index b180646ab1..89c0292ca1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2008-05-18 Martin Nordholts + + Applied patch from Alexia Death that makes velocity dynamics + controlled scale properly recalculate the brush mask when + necessary (bug #533618). + + * app/paint/gimpbrushcore.[ch] (gimp_brush_core_scale_mask): A + change in scale requires a recalculation of the cached brush mask. + 2008-05-18 Martin Nordholts Merged the Polygon Select Tool capabilities with the Free Select diff --git a/app/paint/gimpbrushcore.c b/app/paint/gimpbrushcore.c index b58589594f..3f7501e50a 100644 --- a/app/paint/gimpbrushcore.c +++ b/app/paint/gimpbrushcore.c @@ -1325,12 +1325,12 @@ gimp_brush_core_scale_mask (GimpBrushCore *core, return brush->mask; gimp_brush_scale_size (brush, core->scale, &width, &height); - - if (! core->cache_invalid && - core->scale_brush && - brush->mask == core->last_scale_brush && - width == core->last_scale_width && - height == core->last_scale_height) + if (! core->cache_invalid && + core->scale_brush && + core->last_scale == core->scale && + brush->mask == core->last_scale_brush && + width == core->last_scale_width && + height == core->last_scale_height) { return core->scale_brush; } @@ -1338,6 +1338,7 @@ gimp_brush_core_scale_mask (GimpBrushCore *core, core->last_scale_brush = brush->mask; core->last_scale_width = width; core->last_scale_height = height; + core->last_scale = core->scale; if (core->scale_brush) temp_buf_free (core->scale_brush); diff --git a/app/paint/gimpbrushcore.h b/app/paint/gimpbrushcore.h index 0ca146d372..3a498ae76c 100644 --- a/app/paint/gimpbrushcore.h +++ b/app/paint/gimpbrushcore.h @@ -58,6 +58,7 @@ struct _GimpBrushCore TempBuf *last_scale_brush; gint last_scale_width; gint last_scale_height; + gdouble last_scale; TempBuf *scale_pixmap; TempBuf *last_scale_pixmap;