app: make the backtrace GUI actually work on Win32.

It was previously untested, hence as expected needed fixes. First I add
our own exception handler using Win32 API SetUnhandledExceptionFilter().
Second, I reorder things so that ExcHndlInit() is run after this setter,
since they will be executed as a FILO and we need backtraces to be
generated before our separate GUI runs. Last I run the backtrace GUI as
async. No need to keep the main GIMP waiting since the traces have
already been generated into a separate file.

Also replace gtk_show_uri() by the implementation taken straight from
our web-browser plug-in, since apparently gtk_show_uri() doesn't work in
Windows (and probably not macOS either since I see we have a separate
implementation for this platform as well). I would like to be able to
use the PDB but can't because this code needs to be usable both within
the main process and into a separate tool process. Ideally, this should
just be a utils function which could be included without a problem.
This commit is contained in:
Jehan
2018-01-27 16:43:43 +01:00
parent a3a4df9528
commit 4e5a5dbb87
5 changed files with 224 additions and 61 deletions

View File

@ -23,7 +23,7 @@
#endif
void gimp_init_signal_handlers (void);
void gimp_init_signal_handlers (gchar **backtrace_file);
#endif /* __SIGNALS_H__ */