diff --git a/ChangeLog b/ChangeLog index 421a407fc5..a4edae86e1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2004-05-26 Michael Natterer + + * app/tools/gimppainttool.c (gimp_paint_tool_button_press): check + if the GimpPaintCore really is a GimpBrushCore before catsting and + fiddling with internaly. + 2004-05-25 Michael Natterer * app/paint/Makefile.am diff --git a/app/tools/gimpbrushtool.c b/app/tools/gimpbrushtool.c index 4e01621b88..c4479f78ab 100644 --- a/app/tools/gimpbrushtool.c +++ b/app/tools/gimpbrushtool.c @@ -347,7 +347,7 @@ gimp_paint_tool_button_press (GimpTool *tool, GimpPaintTool *paint_tool = GIMP_PAINT_TOOL (tool); GimpPaintOptions *paint_options; GimpPaintCore *core; - GimpBrush *current_brush; + GimpBrush *current_brush = NULL; GimpDrawable *drawable; GdkDisplay *gdk_display; GimpCoords curr_coords; @@ -428,7 +428,8 @@ gimp_paint_tool_button_press (GimpTool *tool, gimp_paint_core_paint (core, drawable, paint_options, INIT_PAINT); /* store the current brush pointer */ - current_brush = GIMP_BRUSH_CORE (core)->brush; + if (GIMP_IS_BRUSH_CORE (core)) + current_brush = GIMP_BRUSH_CORE (core)->brush; if (core->flags & CORE_TRACES_ON_WINDOW) gimp_paint_core_paint (core, drawable, paint_options, PRETRACE_PAINT); @@ -449,7 +450,8 @@ gimp_paint_tool_button_press (GimpTool *tool, gimp_paint_core_paint (core, drawable, paint_options, POSTTRACE_PAINT); /* restore the current brush pointer */ - GIMP_BRUSH_CORE (core)->brush = current_brush; + if (GIMP_IS_BRUSH_CORE (core)) + GIMP_BRUSH_CORE (core)->brush = current_brush; } static void diff --git a/app/tools/gimppainttool.c b/app/tools/gimppainttool.c index 4e01621b88..c4479f78ab 100644 --- a/app/tools/gimppainttool.c +++ b/app/tools/gimppainttool.c @@ -347,7 +347,7 @@ gimp_paint_tool_button_press (GimpTool *tool, GimpPaintTool *paint_tool = GIMP_PAINT_TOOL (tool); GimpPaintOptions *paint_options; GimpPaintCore *core; - GimpBrush *current_brush; + GimpBrush *current_brush = NULL; GimpDrawable *drawable; GdkDisplay *gdk_display; GimpCoords curr_coords; @@ -428,7 +428,8 @@ gimp_paint_tool_button_press (GimpTool *tool, gimp_paint_core_paint (core, drawable, paint_options, INIT_PAINT); /* store the current brush pointer */ - current_brush = GIMP_BRUSH_CORE (core)->brush; + if (GIMP_IS_BRUSH_CORE (core)) + current_brush = GIMP_BRUSH_CORE (core)->brush; if (core->flags & CORE_TRACES_ON_WINDOW) gimp_paint_core_paint (core, drawable, paint_options, PRETRACE_PAINT); @@ -449,7 +450,8 @@ gimp_paint_tool_button_press (GimpTool *tool, gimp_paint_core_paint (core, drawable, paint_options, POSTTRACE_PAINT); /* restore the current brush pointer */ - GIMP_BRUSH_CORE (core)->brush = current_brush; + if (GIMP_IS_BRUSH_CORE (core)) + GIMP_BRUSH_CORE (core)->brush = current_brush; } static void