Module: wine Branch: master Commit: 02921e4900b5b377a4b4b0cddbb7c2b7419cee9e URL: https://gitlab.winehq.org/wine/wine/-/commit/02921e4900b5b377a4b4b0cddbb7c2b...
Author: Rémi Bernon rbernon@codeweavers.com Date: Wed Jan 24 19:29:15 2024 +0100
winegstreamer: Ask GStreamer to stop messing with signal handlers.
---
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);