Applied patch from Alexia Death that makes velocity dynamics controlled

2008-05-18  Martin Nordholts  <martinn@svn.gnome.org>

	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
This commit is contained in:
Martin Nordholts 2008-05-18 13:10:23 +00:00 committed by Martin Nordholts
parent caa12e4e3b
commit 267462eb62
3 changed files with 17 additions and 6 deletions

View file

@ -1,3 +1,12 @@
2008-05-18 Martin Nordholts <martinn@svn.gnome.org>
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 <martinn@svn.gnome.org> 2008-05-18 Martin Nordholts <martinn@svn.gnome.org>
Merged the Polygon Select Tool capabilities with the Free Select Merged the Polygon Select Tool capabilities with the Free Select

View file

@ -1325,12 +1325,12 @@ gimp_brush_core_scale_mask (GimpBrushCore *core,
return brush->mask; return brush->mask;
gimp_brush_scale_size (brush, core->scale, &width, &height); gimp_brush_scale_size (brush, core->scale, &width, &height);
if (! core->cache_invalid &&
if (! core->cache_invalid && core->scale_brush &&
core->scale_brush && core->last_scale == core->scale &&
brush->mask == core->last_scale_brush && brush->mask == core->last_scale_brush &&
width == core->last_scale_width && width == core->last_scale_width &&
height == core->last_scale_height) height == core->last_scale_height)
{ {
return core->scale_brush; return core->scale_brush;
} }
@ -1338,6 +1338,7 @@ gimp_brush_core_scale_mask (GimpBrushCore *core,
core->last_scale_brush = brush->mask; core->last_scale_brush = brush->mask;
core->last_scale_width = width; core->last_scale_width = width;
core->last_scale_height = height; core->last_scale_height = height;
core->last_scale = core->scale;
if (core->scale_brush) if (core->scale_brush)
temp_buf_free (core->scale_brush); temp_buf_free (core->scale_brush);

View file

@ -58,6 +58,7 @@ struct _GimpBrushCore
TempBuf *last_scale_brush; TempBuf *last_scale_brush;
gint last_scale_width; gint last_scale_width;
gint last_scale_height; gint last_scale_height;
gdouble last_scale;
TempBuf *scale_pixmap; TempBuf *scale_pixmap;
TempBuf *last_scale_pixmap; TempBuf *last_scale_pixmap;