forgot the initialize pixmap_buf when the brush is not scaled

--Sven
This commit is contained in:
Sven Neumann 1999-09-02 21:00:41 +00:00
parent 5e0093547e
commit 98d58ec1ef
4 changed files with 18 additions and 15 deletions

View File

@ -1,3 +1,8 @@
Thu Sep 2 22:58:13 MEST 1999 Sven Neumann <sven@gimp.org>
* app/brush_select.c: fixed a stupid bug I introduced today.
* app/gimpcontextpreview.c: for consistency, do it the same way here.
1999-09-02 Tor Lillqvist <tml@iki.fi>
* plug-ins/script-fu/interp_sliba.c (lreadstring): Accept what

View File

@ -887,6 +887,8 @@ display_brush (BrushSelectP bsp,
gint i, j;
mask_buf = brush->mask;
if (GIMP_IS_BRUSH_PIXMAP (brush))
pixmap_buf = GIMP_BRUSH_PIXMAP(brush)->pixmap_mask;
if (mask_buf->width > bsp->cell_width || mask_buf->height > bsp->cell_height)
{
@ -900,8 +902,7 @@ display_brush (BrushSelectP bsp,
{
/* TODO: the scale function should scale the pixmap
and the mask in one run */
pixmap_buf = brush_scale_pixmap (GIMP_BRUSH_PIXMAP(brush)->pixmap_mask,
mask_buf->width, mask_buf->height);
pixmap_buf = brush_scale_pixmap (pixmap_buf, mask_buf->width, mask_buf->height);
}
scale = TRUE;
}

View File

@ -480,8 +480,11 @@ gimp_context_preview_draw_brush (GimpContextPreview *gcp)
g_return_if_fail (gcp != NULL && GIMP_IS_BRUSH (gcp->data));
brush = GIMP_BRUSH (gcp->data);
brush_width = brush->mask->width;
brush_height = brush->mask->height;
mask_buf = brush->mask;
if (GIMP_IS_BRUSH_PIXMAP (brush))
pixmap_buf = GIMP_BRUSH_PIXMAP(brush)->pixmap_mask;
brush_width = mask_buf->width;
brush_height = mask_buf->height;
if (brush_width > gcp->width || brush_height > gcp->height)
{
@ -491,22 +494,15 @@ gimp_context_preview_draw_brush (GimpContextPreview *gcp)
brush_width = (gdouble)brush_width / MAX (ratio_x, ratio_y);
brush_height = (gdouble)brush_height / MAX (ratio_x, ratio_y);
mask_buf = brush_scale_mask (brush->mask, brush_width, brush_height);
mask_buf = brush_scale_mask (mask_buf, brush_width, brush_height);
if (GIMP_IS_BRUSH_PIXMAP (brush))
{
/* TODO: the scale function should scale the pixmap
and the mask in one run */
pixmap_buf = brush_scale_pixmap (GIMP_BRUSH_PIXMAP(brush)->pixmap_mask,
brush_width, brush_height);
pixmap_buf = brush_scale_pixmap (pixmap_buf, brush_width, brush_height);
}
scale = TRUE;
}
else
{
mask_buf = brush->mask;
if (GIMP_IS_BRUSH_PIXMAP (brush))
pixmap_buf = GIMP_BRUSH_PIXMAP(brush)->pixmap_mask;
}
offset_x = (gcp->width - brush_width) >> 1;
offset_y = (gcp->height - brush_height) >> 1;

View File

@ -887,6 +887,8 @@ display_brush (BrushSelectP bsp,
gint i, j;
mask_buf = brush->mask;
if (GIMP_IS_BRUSH_PIXMAP (brush))
pixmap_buf = GIMP_BRUSH_PIXMAP(brush)->pixmap_mask;
if (mask_buf->width > bsp->cell_width || mask_buf->height > bsp->cell_height)
{
@ -900,8 +902,7 @@ display_brush (BrushSelectP bsp,
{
/* TODO: the scale function should scale the pixmap
and the mask in one run */
pixmap_buf = brush_scale_pixmap (GIMP_BRUSH_PIXMAP(brush)->pixmap_mask,
mask_buf->width, mask_buf->height);
pixmap_buf = brush_scale_pixmap (pixmap_buf, mask_buf->width, mask_buf->height);
}
scale = TRUE;
}