Commit 0ed01919 authored by Manish Singh's avatar Manish Singh

fixed up idle handler for file open (look like testgtk idle demo)

* app/app_procs.c: fixed up idle handler for file open (look like testgtk
idle demo)

* app/colomaps.c: fixup for visual test and use of gdk_color_alloc for some
fixed colors (from Owen Taylor)

* app/errors.h
* app/errors.c
* app/main.c
* libgimp/gimp.c: redid the signal handlers so we only get a debug prompt on
SIGSEGV, SIGBUS, and SIGFPE.

* applied gimp-jbuhler-980408-0 and gimp-joke-980409-0 (warning fixups)

* applied gimp-monnaux-980409-0 for configurable plugin path for multiarch
setups

-Yosh
parent 34582db8
Fri Apr 10 21:59:18 PDT 1998 Manish Singh <yosh@gimp.org>
* app/app_procs.c: fixed up idle handler for file open
(look like testgtk idle demo)
* app/colomaps.c: fixup for visual test and use of gdk_color_alloc
for some fixed colors (from Owen Taylor)
* app/errors.h
* app/errors.c
* app/main.c
* libgimp/gimp.c: redid the signal handlers so we only get a
debug prompt on SIGSEGV, SIGBUS, and SIGFPE.
* applied gimp-jbuhler-980408-0 and gimp-joke-980409-0 (warning
fixups)
* applied gimp-monnaux-980409-0 for configurable plugin path for
multiarch setups
Fri Apr 10 00:17:23 EDT 1998 Matthew Wilson <msw@gimp.org>
* app/commands.c: Fixed (hopefully) the preferences code. Added
......
......@@ -234,7 +234,16 @@ plug_in_init ()
datafiles_read_directories (plug_in_path, plug_in_init_file, MODE_EXECUTABLE);
/* read the pluginrc file for cached data */
sprintf (filename, "%s/pluginrc", gimp_directory ());
if (pluginrc_path)
{
if (*pluginrc_path == '/')
strcpy(filename, pluginrc_path);
else
sprintf(filename, "%s/%s", gimp_directory(), pluginrc_path);
}
else
sprintf (filename, "%s/pluginrc", gimp_directory ());
app_init_update_status("Resource configuration", filename, -1);
parse_gimprc_file (filename);
......
......@@ -110,7 +110,7 @@ static ProcRecord quit_proc =
Thanks to Owen for this.
*/
GtkFunction file_open_wrapper (char *name) {
gint file_open_wrapper (char *name) {
file_open (name, name);
return FALSE;
}
......@@ -127,7 +127,7 @@ gimp_init (int gimp_argc,
while (gimp_argc--)
{
if (*gimp_argv)
gtk_idle_add ((GtkFunction *) file_open_wrapper, *gimp_argv);
gtk_idle_add ((GtkFunction) file_open_wrapper, *gimp_argv);
gimp_argv++;
}
......
......@@ -65,39 +65,40 @@ gulong *g_lookup_blue;
gulong *color_pixel_vals;
gulong *gray_pixel_vals;
static int reserved_entries = 10; /* extra colors aside from color cube */
static int reserved_entries = 4; /* extra colors aside from color cube */
static gulong *reserved_pixels;
static void make_color (gulong *pixel_ptr,
int red,
int green,
int blue,
int readwrite);
static void
set_app_colors ()
{
int i;
if (g_visual->depth == 8)
if ((g_visual->type == GDK_VISUAL_PSEUDO_COLOR) ||
(g_visual->type == GDK_VISUAL_GRAYSCALE))
{
g_black_pixel = reserved_pixels[0];
g_gray_pixel = reserved_pixels[1];
g_white_pixel = reserved_pixels[2];
g_color_pixel = reserved_pixels[3];
g_normal_guide_pixel = reserved_pixels[4];
g_active_guide_pixel = reserved_pixels[5];
foreground_pixel = reserved_pixels[6];
background_pixel = reserved_pixels[7];
old_color_pixel = reserved_pixels[8];
new_color_pixel = reserved_pixels[9];
foreground_pixel = reserved_pixels[0];
background_pixel = reserved_pixels[1];
old_color_pixel = reserved_pixels[2];
new_color_pixel = reserved_pixels[3];
}
else
{
cycled_marching_ants = FALSE;
}
store_color (&g_black_pixel, 0, 0, 0);
store_color (&g_gray_pixel, 127, 127, 127);
store_color (&g_white_pixel, 255, 255, 255);
store_color (&g_color_pixel, 255, 255, 0);
store_color (&g_normal_guide_pixel, 0, 127, 255);
store_color (&g_active_guide_pixel, 255, 0, 0);
make_color (&g_black_pixel, 0, 0, 0, FALSE);
make_color (&g_gray_pixel, 127, 127, 127, FALSE);
make_color (&g_white_pixel, 255, 255, 255, FALSE);
make_color (&g_color_pixel, 255, 255, 0, FALSE);
make_color (&g_normal_guide_pixel, 0, 127, 255, FALSE);
make_color (&g_active_guide_pixel, 255, 0, 0, FALSE);
store_color (&foreground_pixel, 0, 0, 0);
store_color (&background_pixel, 255, 255, 255);
store_color (&old_color_pixel, 0, 0, 0);
......@@ -145,7 +146,8 @@ get_color (int red,
{
gulong pixel;
if (g_visual->depth == 8)
if ((g_visual->type == GDK_VISUAL_PSEUDO_COLOR) ||
(g_visual->type == GDK_VISUAL_GRAYSCALE))
pixel = color_pixel_vals [(red_ordered_dither[red].s[1] +
green_ordered_dither[green].s[1] +
blue_ordered_dither[blue].s[1])];
......@@ -156,11 +158,12 @@ get_color (int red,
}
void
store_color (gulong *pixel_ptr,
int red,
int green,
int blue)
static void
make_color (gulong *pixel_ptr,
int red,
int green,
int blue,
int readwrite)
{
GdkColor col;
......@@ -173,7 +176,8 @@ store_color (gulong *pixel_ptr,
col.blue = blue * (65535 / 255);
col.pixel = *pixel_ptr;
if (g_visual->depth == 8)
if (readwrite && ((g_visual->type == GDK_VISUAL_PSEUDO_COLOR) ||
(g_visual->type == GDK_VISUAL_GRAYSCALE)))
gdk_color_change (g_cmap, &col);
else
gdk_color_alloc (g_cmap, &col);
......@@ -181,6 +185,15 @@ store_color (gulong *pixel_ptr,
*pixel_ptr = col.pixel;
}
void
store_color (gulong *pixel_ptr,
int red,
int green,
int blue)
{
make_color (pixel_ptr, red, green, blue, TRUE);
}
void
get_standard_colormaps ()
......@@ -205,7 +218,9 @@ get_standard_colormaps ()
info = gtk_preview_get_info ();
g_visual = info->visual;
if (g_visual->depth == 8 && info->reserved_pixels == NULL) {
if (((g_visual->type == GDK_VISUAL_PSEUDO_COLOR) ||
(g_visual->type == GDK_VISUAL_GRAYSCALE)) &&
info->reserved_pixels == NULL) {
g_print("GIMP cannot get enough colormaps to boot.\n");
g_print("Try exiting other color intensive applications.\n");
g_print("Also try enabling the (install-colormap) option in gimprc.\n");
......
......@@ -68,3 +68,17 @@ fatal_error (char *fmt, ...)
g_debug (prog_name);
app_exit (1);
}
void
terminate (char *fmt, ...)
{
va_list args;
va_start (args, fmt);
printf ("%s terminated: ", prog_name);
vprintf (fmt, args);
printf ("\n");
va_end (args);
gdk_exit (1);
}
......@@ -21,5 +21,6 @@
void message (char *, ...);
void warning (char *, ...);
void fatal_error (char *, ...);
void terminate (char *, ...);
#endif /* __ERRORS_H__ */
......@@ -2632,12 +2632,14 @@ gimage_dirty (GImage *gimage)
gimage->dirty ++;
if (active_tool && !active_tool->preserve) {
gdisp = active_tool->gdisp_ptr;
if (gdisp)
if (gdisp) {
if (gdisp->gimage->ID == gimage->ID)
tools_initialize (active_tool->type, gdisp);
else
tools_initialize (active_tool->type, NULL);
}
}
return gimage->dirty;
}
......
......@@ -84,6 +84,7 @@ char * palette_path = NULL;
char * default_palette = NULL;
char * gradient_path = NULL;
char * default_gradient = NULL;
char * pluginrc_path = NULL;
int tile_cache_size = 4194304; /* 4 MB */
int marching_speed = 150; /* 150 ms */
double gamma_val = 1.0;
......@@ -176,6 +177,7 @@ static ParseFunc funcs[] =
{ "plug-in-path", TT_PATH, &plug_in_path, NULL },
{ "palette-path", TT_PATH, &palette_path, NULL },
{ "gradient-path", TT_PATH, &gradient_path, NULL },
{ "pluginrc-path", TT_PATH, &pluginrc_path, NULL },
{ "default-brush", TT_STRING, &default_brush, NULL },
{ "default-pattern", TT_STRING, &default_pattern, NULL },
{ "default-palette", TT_STRING, &default_palette, NULL },
......
......@@ -33,6 +33,7 @@ extern char * palette_path;
extern char * default_palette;
extern char * gradient_path;
extern char * default_gradient;
extern char * pluginrc_path;
extern int tile_cache_size;
extern int marching_speed;
extern double gamma_val;
......
......@@ -92,7 +92,7 @@ static void palette_close_callback (GtkWidget *, gpointer);
static gint palette_dialog_delete_callback (GtkWidget *, GdkEvent *, gpointer);
static void palette_new_entries_callback (GtkWidget *, gpointer);
static void palette_add_entries_callback (GtkWidget *, gpointer, gpointer);
static void palette_merge_entries_callback (GtkWidget *, gpointer);
/* static void palette_merge_entries_callback (GtkWidget *, gpointer); */
static void palette_delete_entries_callback (GtkWidget *, gpointer);
static void palette_select_callback (int, int, int, ColorSelectState, void *);
......
......@@ -234,7 +234,16 @@ plug_in_init ()
datafiles_read_directories (plug_in_path, plug_in_init_file, MODE_EXECUTABLE);
/* read the pluginrc file for cached data */
sprintf (filename, "%s/pluginrc", gimp_directory ());
if (pluginrc_path)
{
if (*pluginrc_path == '/')
strcpy(filename, pluginrc_path);
else
sprintf(filename, "%s/%s", gimp_directory(), pluginrc_path);
}
else
sprintf (filename, "%s/pluginrc", gimp_directory ());
app_init_update_status("Resource configuration", filename, -1);
parse_gimprc_file (filename);
......
......@@ -234,7 +234,16 @@ plug_in_init ()
datafiles_read_directories (plug_in_path, plug_in_init_file, MODE_EXECUTABLE);
/* read the pluginrc file for cached data */
sprintf (filename, "%s/pluginrc", gimp_directory ());
if (pluginrc_path)
{
if (*pluginrc_path == '/')
strcpy(filename, pluginrc_path);
else
sprintf(filename, "%s/%s", gimp_directory(), pluginrc_path);
}
else
sprintf (filename, "%s/pluginrc", gimp_directory ());
app_init_update_status("Resource configuration", filename, -1);
parse_gimprc_file (filename);
......
......@@ -232,8 +232,6 @@ static int caught_fatal_sig = 0;
static RETSIGTYPE
on_signal (int sig_num)
{
char *sig;
if (caught_fatal_sig)
/* raise (sig_num);*/
kill (getpid (), sig_num);
......@@ -242,38 +240,36 @@ on_signal (int sig_num)
switch (sig_num)
{
case SIGHUP:
sig = "sighup";
terminate ("sighup caught");
break;
case SIGINT:
sig = "sigint";
terminate ("sigint caught");
break;
case SIGQUIT:
sig = "sigquit";
terminate ("sigquit caught");
break;
case SIGABRT:
sig = "sigabrt";
terminate ("sigabrt caught");
break;
case SIGBUS:
sig = "sigbus";
fatal_error ("sigbus caught");
break;
case SIGSEGV:
sig = "sigsegv";
fatal_error ("sigsegv caught");
break;
case SIGPIPE:
sig = "sigpipe";
terminate ("sigpipe caught");
break;
case SIGTERM:
sig = "sigterm";
terminate ("sigterm caught");
break;
case SIGFPE:
sig = "sigfpe";
fatal_error ("sigfpe caught");
break;
default:
sig = "unknown signal";
fatal_error ("unknown signal");
break;
}
fatal_error ("%s caught", sig);
}
static RETSIGTYPE
......
......@@ -234,7 +234,16 @@ plug_in_init ()
datafiles_read_directories (plug_in_path, plug_in_init_file, MODE_EXECUTABLE);
/* read the pluginrc file for cached data */
sprintf (filename, "%s/pluginrc", gimp_directory ());
if (pluginrc_path)
{
if (*pluginrc_path == '/')
strcpy(filename, pluginrc_path);
else
sprintf(filename, "%s/%s", gimp_directory(), pluginrc_path);
}
else
sprintf (filename, "%s/pluginrc", gimp_directory ());
app_init_update_status("Resource configuration", filename, -1);
parse_gimprc_file (filename);
......
......@@ -92,7 +92,7 @@ static void palette_close_callback (GtkWidget *, gpointer);
static gint palette_dialog_delete_callback (GtkWidget *, GdkEvent *, gpointer);
static void palette_new_entries_callback (GtkWidget *, gpointer);
static void palette_add_entries_callback (GtkWidget *, gpointer, gpointer);
static void palette_merge_entries_callback (GtkWidget *, gpointer);
/* static void palette_merge_entries_callback (GtkWidget *, gpointer); */
static void palette_delete_entries_callback (GtkWidget *, gpointer);
static void palette_select_callback (int, int, int, ColorSelectState, void *);
......
......@@ -234,7 +234,16 @@ plug_in_init ()
datafiles_read_directories (plug_in_path, plug_in_init_file, MODE_EXECUTABLE);
/* read the pluginrc file for cached data */
sprintf (filename, "%s/pluginrc", gimp_directory ());
if (pluginrc_path)
{
if (*pluginrc_path == '/')
strcpy(filename, pluginrc_path);
else
sprintf(filename, "%s/%s", gimp_directory(), pluginrc_path);
}
else
sprintf (filename, "%s/pluginrc", gimp_directory ());
app_init_update_status("Resource configuration", filename, -1);
parse_gimprc_file (filename);
......
......@@ -234,7 +234,16 @@ plug_in_init ()
datafiles_read_directories (plug_in_path, plug_in_init_file, MODE_EXECUTABLE);
/* read the pluginrc file for cached data */
sprintf (filename, "%s/pluginrc", gimp_directory ());
if (pluginrc_path)
{
if (*pluginrc_path == '/')
strcpy(filename, pluginrc_path);
else
sprintf(filename, "%s/%s", gimp_directory(), pluginrc_path);
}
else
sprintf (filename, "%s/pluginrc", gimp_directory ());
app_init_update_status("Resource configuration", filename, -1);
parse_gimprc_file (filename);
......
......@@ -234,7 +234,16 @@ plug_in_init ()
datafiles_read_directories (plug_in_path, plug_in_init_file, MODE_EXECUTABLE);
/* read the pluginrc file for cached data */
sprintf (filename, "%s/pluginrc", gimp_directory ());
if (pluginrc_path)
{
if (*pluginrc_path == '/')
strcpy(filename, pluginrc_path);
else
sprintf(filename, "%s/%s", gimp_directory(), pluginrc_path);
}
else
sprintf (filename, "%s/pluginrc", gimp_directory ());
app_init_update_status("Resource configuration", filename, -1);
parse_gimprc_file (filename);
......
......@@ -234,7 +234,16 @@ plug_in_init ()
datafiles_read_directories (plug_in_path, plug_in_init_file, MODE_EXECUTABLE);
/* read the pluginrc file for cached data */
sprintf (filename, "%s/pluginrc", gimp_directory ());
if (pluginrc_path)
{
if (*pluginrc_path == '/')
strcpy(filename, pluginrc_path);
else
sprintf(filename, "%s/%s", gimp_directory(), pluginrc_path);
}
else
sprintf (filename, "%s/pluginrc", gimp_directory ());
app_init_update_status("Resource configuration", filename, -1);
parse_gimprc_file (filename);
......
......@@ -234,7 +234,16 @@ plug_in_init ()
datafiles_read_directories (plug_in_path, plug_in_init_file, MODE_EXECUTABLE);
/* read the pluginrc file for cached data */
sprintf (filename, "%s/pluginrc", gimp_directory ());
if (pluginrc_path)
{
if (*pluginrc_path == '/')
strcpy(filename, pluginrc_path);
else
sprintf(filename, "%s/%s", gimp_directory(), pluginrc_path);
}
else
sprintf (filename, "%s/pluginrc", gimp_directory ());
app_init_update_status("Resource configuration", filename, -1);
parse_gimprc_file (filename);
......
......@@ -234,7 +234,16 @@ plug_in_init ()
datafiles_read_directories (plug_in_path, plug_in_init_file, MODE_EXECUTABLE);
/* read the pluginrc file for cached data */
sprintf (filename, "%s/pluginrc", gimp_directory ());
if (pluginrc_path)
{
if (*pluginrc_path == '/')
strcpy(filename, pluginrc_path);
else
sprintf(filename, "%s/%s", gimp_directory(), pluginrc_path);
}
else
sprintf (filename, "%s/pluginrc", gimp_directory ());
app_init_update_status("Resource configuration", filename, -1);
parse_gimprc_file (filename);
......
......@@ -234,7 +234,16 @@ plug_in_init ()
datafiles_read_directories (plug_in_path, plug_in_init_file, MODE_EXECUTABLE);
/* read the pluginrc file for cached data */
sprintf (filename, "%s/pluginrc", gimp_directory ());
if (pluginrc_path)
{
if (*pluginrc_path == '/')
strcpy(filename, pluginrc_path);
else
sprintf(filename, "%s/%s", gimp_directory(), pluginrc_path);
}
else
sprintf (filename, "%s/pluginrc", gimp_directory ());
app_init_update_status("Resource configuration", filename, -1);
parse_gimprc_file (filename);
......
......@@ -234,7 +234,16 @@ plug_in_init ()
datafiles_read_directories (plug_in_path, plug_in_init_file, MODE_EXECUTABLE);
/* read the pluginrc file for cached data */
sprintf (filename, "%s/pluginrc", gimp_directory ());
if (pluginrc_path)
{
if (*pluginrc_path == '/')
strcpy(filename, pluginrc_path);
else
sprintf(filename, "%s/%s", gimp_directory(), pluginrc_path);
}
else
sprintf (filename, "%s/pluginrc", gimp_directory ());
app_init_update_status("Resource configuration", filename, -1);
parse_gimprc_file (filename);
......
......@@ -234,7 +234,16 @@ plug_in_init ()
datafiles_read_directories (plug_in_path, plug_in_init_file, MODE_EXECUTABLE);
/* read the pluginrc file for cached data */
sprintf (filename, "%s/pluginrc", gimp_directory ());
if (pluginrc_path)
{
if (*pluginrc_path == '/')
strcpy(filename, pluginrc_path);
else
sprintf(filename, "%s/%s", gimp_directory(), pluginrc_path);
}
else
sprintf (filename, "%s/pluginrc", gimp_directory ());
app_init_update_status("Resource configuration", filename, -1);
parse_gimprc_file (filename);
......
......@@ -234,7 +234,16 @@ plug_in_init ()
datafiles_read_directories (plug_in_path, plug_in_init_file, MODE_EXECUTABLE);
/* read the pluginrc file for cached data */
sprintf (filename, "%s/pluginrc", gimp_directory ());
if (pluginrc_path)
{
if (*pluginrc_path == '/')
strcpy(filename, pluginrc_path);
else
sprintf(filename, "%s/%s", gimp_directory(), pluginrc_path);
}
else
sprintf (filename, "%s/pluginrc", gimp_directory ());
app_init_update_status("Resource configuration", filename, -1);
parse_gimprc_file (filename);
......
......@@ -234,7 +234,16 @@ plug_in_init ()
datafiles_read_directories (plug_in_path, plug_in_init_file, MODE_EXECUTABLE);
/* read the pluginrc file for cached data */
sprintf (filename, "%s/pluginrc", gimp_directory ());
if (pluginrc_path)
{
if (*pluginrc_path == '/')
strcpy(filename, pluginrc_path);
else
sprintf(filename, "%s/%s", gimp_directory(), pluginrc_path);
}
else
sprintf (filename, "%s/pluginrc", gimp_directory ());
app_init_update_status("Resource configuration", filename, -1);
parse_gimprc_file (filename);
......
......@@ -234,7 +234,16 @@ plug_in_init ()
datafiles_read_directories (plug_in_path, plug_in_init_file, MODE_EXECUTABLE);
/* read the pluginrc file for cached data */
sprintf (filename, "%s/pluginrc", gimp_directory ());
if (pluginrc_path)
{
if (*pluginrc_path == '/')
strcpy(filename, pluginrc_path);
else
sprintf(filename, "%s/%s", gimp_directory(), pluginrc_path);
}
else
sprintf (filename, "%s/pluginrc", gimp_directory ());
app_init_update_status("Resource configuration", filename, -1);
parse_gimprc_file (filename);
......
......@@ -234,7 +234,16 @@ plug_in_init ()
datafiles_read_directories (plug_in_path, plug_in_init_file, MODE_EXECUTABLE);
/* read the pluginrc file for cached data */
sprintf (filename, "%s/pluginrc", gimp_directory ());
if (pluginrc_path)
{
if (*pluginrc_path == '/')
strcpy(filename, pluginrc_path);
else
sprintf(filename, "%s/%s", gimp_directory(), pluginrc_path);
}
else
sprintf (filename, "%s/pluginrc", gimp_directory ());
app_init_update_status("Resource configuration", filename, -1);
parse_gimprc_file (filename);
......
......@@ -234,7 +234,16 @@ plug_in_init ()
datafiles_read_directories (plug_in_path, plug_in_init_file, MODE_EXECUTABLE);
/* read the pluginrc file for cached data */
sprintf (filename, "%s/pluginrc", gimp_directory ());
if (pluginrc_path)
{
if (*pluginrc_path == '/')
strcpy(filename, pluginrc_path);
else
sprintf(filename, "%s/%s", gimp_directory(), pluginrc_path);
}
else
sprintf (filename, "%s/pluginrc", gimp_directory ());
app_init_update_status("Resource configuration", filename, -1);
parse_gimprc_file (filename);
......
......@@ -234,7 +234,16 @@ plug_in_init ()
datafiles_read_directories (plug_in_path, plug_in_init_file, MODE_EXECUTABLE);
/* read the pluginrc file for cached data */
sprintf (filename, "%s/pluginrc", gimp_directory ());
if (pluginrc_path)
{
if (*pluginrc_path == '/')
strcpy(filename, pluginrc_path);
else
sprintf(filename, "%s/%s", gimp_directory(), pluginrc_path);
}
else
sprintf (filename, "%s/pluginrc", gimp_directory ());
app_init_update_status("Resource configuration", filename, -1);
parse_gimprc_file (filename);
......
......@@ -234,7 +234,16 @@ plug_in_init ()
datafiles_read_directories (plug_in_path, plug_in_init_file, MODE_EXECUTABLE);
/* read the pluginrc file for cached data */
sprintf (filename, "%s/pluginrc", gimp_directory ());
if (pluginrc_path)
{
if (*pluginrc_path == '/')
strcpy(filename, pluginrc_path);
else
sprintf(filename, "%s/%s", gimp_directory(), pluginrc_path);
}
else
sprintf (filename, "%s/pluginrc", gimp_directory ());
app_init_update_status("Resource configuration", filename, -1);
parse_gimprc_file (filename);
......
......@@ -92,7 +92,7 @@ static void palette_close_callback (GtkWidget *, gpointer);
static gint palette_dialog_delete_callback (GtkWidget *, GdkEvent *, gpointer);
static void palette_new_entries_callback (GtkWidget *, gpointer);
static void palette_add_entries_callback (GtkWidget *, gpointer, gpointer);
static void palette_merge_entries_callback (GtkWidget *, gpointer);
/* static void palette_merge_entries_callback (GtkWidget *, gpointer); */
static void palette_delete_entries_callback (GtkWidget *, gpointer);
static void palette_select_callback (int, int, int, ColorSelectState, void *);
......
......@@ -91,6 +91,7 @@ gimp_main (int argc,
signal (SIGSEGV, gimp_signal);
signal (SIGPIPE, gimp_signal);
signal (SIGTERM, gimp_signal);
signal (SIGFPE, gimp_signal);
_readfd = atoi (argv[2]);
_writefd = atoi (argv[3]);
......@@ -858,7 +859,17 @@ gimp_signal (int signum)
caught_fatal_sig = 1;
fprintf (stderr, "\n%s: %s caught\n", progname, g_strsignal (signum));
g_debug (progname);
switch (signum)
{
case SIGBUS:
case SIGSEGV:
case SIGFPE:
g_debug (progname);
break;
default:
break;
}
gimp_quit ();