From: Rémi Bernon <rbernon(a)codeweavers.com> --- dlls/winegstreamer/unixlib.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/dlls/winegstreamer/unixlib.c b/dlls/winegstreamer/unixlib.c index db9d1eb114f..a2ec66e1990 100644 --- a/dlls/winegstreamer/unixlib.c +++ b/dlls/winegstreamer/unixlib.c @@ -253,6 +253,13 @@ NTSTATUS wg_init_gstreamer(void *arg) char **argv = args; GError *err; + /* GStreamer installs a temporary SEGV handler when it loads plugins + * to initialize its registry calling exit(-1) when any fault is caught. + * We need to make sure any signal reaches our signal handlers to catch + * and handle them, or eventually propagate the exceptions to the user. + */ + gst_segtrap_set_enabled(false); + if (!gst_init_check(&argc, &argv, &err)) { fprintf(stderr, "winegstreamer: failed to initialize GStreamer: %s\n", err->message); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/4933