mirror of https://github.com/GNOME/gimp.git
Return when brush loading failed and react the right way. Fixes parts of
Return when brush loading failed and react the right way. Fixes parts of bug #8150.
This commit is contained in:
parent
9d051ffcde
commit
4b2c4d8424
12
ChangeLog
12
ChangeLog
|
@ -1,4 +1,14 @@
|
|||
Wed Sep 27 00:46:31 CEST 2000 Daniel Egger <egger@suse.de>
|
||||
Wed Sep 27 19:43:05 CEST 2000 Daniel Egger <egger@suse.de>
|
||||
|
||||
* gimpbrush.c:
|
||||
* gimpbrush.h:
|
||||
* gimpbrushgenerated.c: Return failed brush load try
|
||||
in gimp_brush_load_brush and react accordingly instead
|
||||
of crashing. Fixes part of bug #8150. I'd really
|
||||
appreciate if some expert could have a look in the
|
||||
pixmapbrush and brushpipe half of this problem.
|
||||
|
||||
Wed Sep 27 19:43:13 CEST 2000 Daniel Egger <egger@suse.de>
|
||||
|
||||
* app/paint_funcs.c: Implemented suggested solution for
|
||||
SPARC alignment problem by Jon Hazen. Fixes bug #21269.
|
||||
|
|
|
@ -126,9 +126,7 @@ gimp_brush_new (gchar *filename)
|
|||
{
|
||||
GimpBrush *brush = GIMP_BRUSH (gtk_type_new (gimp_brush_get_type ()));
|
||||
|
||||
gimp_brush_load (brush, filename);
|
||||
|
||||
return brush;
|
||||
return (gimp_brush_load (brush, filename)? brush : NULL);
|
||||
}
|
||||
|
||||
static GimpBrush *
|
||||
|
@ -193,7 +191,7 @@ gimp_brush_set_spacing (GimpBrush *brush,
|
|||
brush->spacing = spacing;
|
||||
}
|
||||
|
||||
void
|
||||
gboolean
|
||||
gimp_brush_load (GimpBrush *brush,
|
||||
gchar *filename)
|
||||
{
|
||||
|
@ -205,10 +203,11 @@ gimp_brush_load (GimpBrush *brush,
|
|||
if (! (fp = fopen (filename, "rb")))
|
||||
{
|
||||
gimp_object_destroy (brush);
|
||||
return;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
gimp_brush_load_brush (brush, fp, filename);
|
||||
if (!gimp_brush_load_brush (brush, fp, filename))
|
||||
return FALSE;
|
||||
|
||||
/* Clean up */
|
||||
fclose (fp);
|
||||
|
@ -216,6 +215,8 @@ gimp_brush_load (GimpBrush *brush,
|
|||
/* Swap the brush to disk (if we're being stingy with memory) */
|
||||
if (stingy_memory_use)
|
||||
temp_buf_swap (brush->mask);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
gint
|
||||
|
|
|
@ -126,9 +126,7 @@ gimp_brush_new (gchar *filename)
|
|||
{
|
||||
GimpBrush *brush = GIMP_BRUSH (gtk_type_new (gimp_brush_get_type ()));
|
||||
|
||||
gimp_brush_load (brush, filename);
|
||||
|
||||
return brush;
|
||||
return (gimp_brush_load (brush, filename)? brush : NULL);
|
||||
}
|
||||
|
||||
static GimpBrush *
|
||||
|
@ -193,7 +191,7 @@ gimp_brush_set_spacing (GimpBrush *brush,
|
|||
brush->spacing = spacing;
|
||||
}
|
||||
|
||||
void
|
||||
gboolean
|
||||
gimp_brush_load (GimpBrush *brush,
|
||||
gchar *filename)
|
||||
{
|
||||
|
@ -205,10 +203,11 @@ gimp_brush_load (GimpBrush *brush,
|
|||
if (! (fp = fopen (filename, "rb")))
|
||||
{
|
||||
gimp_object_destroy (brush);
|
||||
return;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
gimp_brush_load_brush (brush, fp, filename);
|
||||
if (!gimp_brush_load_brush (brush, fp, filename))
|
||||
return FALSE;
|
||||
|
||||
/* Clean up */
|
||||
fclose (fp);
|
||||
|
@ -216,6 +215,8 @@ gimp_brush_load (GimpBrush *brush,
|
|||
/* Swap the brush to disk (if we're being stingy with memory) */
|
||||
if (stingy_memory_use)
|
||||
temp_buf_swap (brush->mask);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
gint
|
||||
|
|
|
@ -55,7 +55,7 @@ struct _GimpBrushClass
|
|||
GtkType gimp_brush_get_type (void);
|
||||
GimpBrush * gimp_brush_new (gchar *filename);
|
||||
|
||||
void gimp_brush_load (GimpBrush *brush,
|
||||
gboolean gimp_brush_load (GimpBrush *brush,
|
||||
gchar *filename);
|
||||
gint gimp_brush_load_brush (GimpBrush *brush,
|
||||
FILE *fp,
|
||||
|
|
|
@ -134,7 +134,10 @@ gimp_brush_generated_load (const gchar *file_name)
|
|||
|
||||
/* make sure the file we are reading is the right type */
|
||||
fgets (string, 255, fp);
|
||||
g_return_val_if_fail (strncmp (string, "GIMP-VBR", 8) == 0, NULL);
|
||||
|
||||
if (strncmp (string, "GIMP-VBR", 8) != 0)
|
||||
return NULL;
|
||||
|
||||
/* make sure we are reading a compatible version */
|
||||
fgets (string, 255, fp);
|
||||
sscanf (string, "%f", &version);
|
||||
|
|
|
@ -134,7 +134,10 @@ gimp_brush_generated_load (const gchar *file_name)
|
|||
|
||||
/* make sure the file we are reading is the right type */
|
||||
fgets (string, 255, fp);
|
||||
g_return_val_if_fail (strncmp (string, "GIMP-VBR", 8) == 0, NULL);
|
||||
|
||||
if (strncmp (string, "GIMP-VBR", 8) != 0)
|
||||
return NULL;
|
||||
|
||||
/* make sure we are reading a compatible version */
|
||||
fgets (string, 255, fp);
|
||||
sscanf (string, "%f", &version);
|
||||
|
|
|
@ -134,7 +134,10 @@ gimp_brush_generated_load (const gchar *file_name)
|
|||
|
||||
/* make sure the file we are reading is the right type */
|
||||
fgets (string, 255, fp);
|
||||
g_return_val_if_fail (strncmp (string, "GIMP-VBR", 8) == 0, NULL);
|
||||
|
||||
if (strncmp (string, "GIMP-VBR", 8) != 0)
|
||||
return NULL;
|
||||
|
||||
/* make sure we are reading a compatible version */
|
||||
fgets (string, 255, fp);
|
||||
sscanf (string, "%f", &version);
|
||||
|
|
|
@ -126,9 +126,7 @@ gimp_brush_new (gchar *filename)
|
|||
{
|
||||
GimpBrush *brush = GIMP_BRUSH (gtk_type_new (gimp_brush_get_type ()));
|
||||
|
||||
gimp_brush_load (brush, filename);
|
||||
|
||||
return brush;
|
||||
return (gimp_brush_load (brush, filename)? brush : NULL);
|
||||
}
|
||||
|
||||
static GimpBrush *
|
||||
|
@ -193,7 +191,7 @@ gimp_brush_set_spacing (GimpBrush *brush,
|
|||
brush->spacing = spacing;
|
||||
}
|
||||
|
||||
void
|
||||
gboolean
|
||||
gimp_brush_load (GimpBrush *brush,
|
||||
gchar *filename)
|
||||
{
|
||||
|
@ -205,10 +203,11 @@ gimp_brush_load (GimpBrush *brush,
|
|||
if (! (fp = fopen (filename, "rb")))
|
||||
{
|
||||
gimp_object_destroy (brush);
|
||||
return;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
gimp_brush_load_brush (brush, fp, filename);
|
||||
if (!gimp_brush_load_brush (brush, fp, filename))
|
||||
return FALSE;
|
||||
|
||||
/* Clean up */
|
||||
fclose (fp);
|
||||
|
@ -216,6 +215,8 @@ gimp_brush_load (GimpBrush *brush,
|
|||
/* Swap the brush to disk (if we're being stingy with memory) */
|
||||
if (stingy_memory_use)
|
||||
temp_buf_swap (brush->mask);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
gint
|
||||
|
|
|
@ -55,7 +55,7 @@ struct _GimpBrushClass
|
|||
GtkType gimp_brush_get_type (void);
|
||||
GimpBrush * gimp_brush_new (gchar *filename);
|
||||
|
||||
void gimp_brush_load (GimpBrush *brush,
|
||||
gboolean gimp_brush_load (GimpBrush *brush,
|
||||
gchar *filename);
|
||||
gint gimp_brush_load_brush (GimpBrush *brush,
|
||||
FILE *fp,
|
||||
|
|
|
@ -134,7 +134,10 @@ gimp_brush_generated_load (const gchar *file_name)
|
|||
|
||||
/* make sure the file we are reading is the right type */
|
||||
fgets (string, 255, fp);
|
||||
g_return_val_if_fail (strncmp (string, "GIMP-VBR", 8) == 0, NULL);
|
||||
|
||||
if (strncmp (string, "GIMP-VBR", 8) != 0)
|
||||
return NULL;
|
||||
|
||||
/* make sure we are reading a compatible version */
|
||||
fgets (string, 255, fp);
|
||||
sscanf (string, "%f", &version);
|
||||
|
|
Loading…
Reference in New Issue