Rémi Bernon : winegstreamer: Ask GStreamer to stop messing with signal handlers.
Module: wine Branch: master Commit: 02921e4900b5b377a4b4b0cddbb7c2b7419cee9e URL: https://gitlab.winehq.org/wine/wine/-/commit/02921e4900b5b377a4b4b0cddbb7c2b... Author: Rémi Bernon <rbernon(a)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);
participants (1)
-
Alexandre Julliard