From 5ee46a214cf40a7f8bd3dfbfe69ca338d76c9839 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Wed, 9 Aug 2023 10:32:44 +0300 Subject: [PATCH] webrtc: Use `#[repr(C)]` to get a C-compatible layout for the `Signaller` struct This is required by GObject for class/interface and instance structs and the reason why implementing the `glib::ObjectInterface` trait is unsafe. Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/397 Part-of: --- net/webrtc/src/signaller/iface.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/net/webrtc/src/signaller/iface.rs b/net/webrtc/src/signaller/iface.rs index d0401875..e5cd97b1 100644 --- a/net/webrtc/src/signaller/iface.rs +++ b/net/webrtc/src/signaller/iface.rs @@ -5,6 +5,7 @@ use gst::prelude::*; use gst::subclass::prelude::*; #[derive(Copy, Clone)] +#[repr(C)] pub struct Signallable { _parent: glib::gobject_ffi::GTypeInterface, pub start: fn(&super::Signallable),