libgimp: do not end the fatal and signal handlers with gimp_quit().
When ending with gimp_quit(), GIMP was not displaying the "Plug-in crashed" error dialog, which is not good, since we lose the crash feedback for plug-ins. Just let the plug-in continue its normal run in order to get the error dialog. Also protect the tracing functions, which are not working on Win32.
This commit is contained in:
@ -1942,6 +1942,7 @@ gimp_fatal_func (const gchar *log_domain,
|
|||||||
g_printerr ("%s: %s: %s\n",
|
g_printerr ("%s: %s: %s\n",
|
||||||
progname, level, message);
|
progname, level, message);
|
||||||
|
|
||||||
|
#ifndef G_OS_WIN32
|
||||||
switch (stack_trace_mode)
|
switch (stack_trace_mode)
|
||||||
{
|
{
|
||||||
case GIMP_STACK_TRACE_NEVER:
|
case GIMP_STACK_TRACE_NEVER:
|
||||||
@ -1967,8 +1968,12 @@ gimp_fatal_func (const gchar *log_domain,
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
gimp_quit ();
|
/* Do not end with gimp_quit().
|
||||||
|
* We want the plug-in to continue its normal crash course, otherwise
|
||||||
|
* we won't get the "Plug-in crashed" error in GIMP.
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef G_OS_WIN32
|
#ifndef G_OS_WIN32
|
||||||
@ -2019,7 +2024,10 @@ gimp_plugin_sigfatal_handler (gint sig_num)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
gimp_quit ();
|
/* Do not end with gimp_quit().
|
||||||
|
* We want the plug-in to continue its normal crash course, otherwise
|
||||||
|
* we won't get the "Plug-in crashed" error in GIMP.
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user