Remove callback guards

Since Rust 1.24 it is safe to let panics go to the FFI boundary
This commit is contained in:
Sebastian Dröge 2018-02-17 20:01:31 +02:00
parent b7c06e0203
commit 75248c7f07
8 changed files with 0 additions and 70 deletions

View file

@ -299,7 +299,6 @@ unsafe extern "C" fn base_sink_start<T: BaseSinkBase>(
where
T::ImplType: BaseSinkImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let element = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
@ -316,7 +315,6 @@ unsafe extern "C" fn base_sink_stop<T: BaseSinkBase>(
where
T::ImplType: BaseSinkImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let element = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
@ -334,7 +332,6 @@ unsafe extern "C" fn base_sink_render<T: BaseSinkBase>(
where
T::ImplType: BaseSinkImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let element = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
@ -353,7 +350,6 @@ unsafe extern "C" fn base_sink_prepare<T: BaseSinkBase>(
where
T::ImplType: BaseSinkImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let element = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
@ -372,7 +368,6 @@ unsafe extern "C" fn base_sink_render_list<T: BaseSinkBase>(
where
T::ImplType: BaseSinkImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let element = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
@ -391,7 +386,6 @@ unsafe extern "C" fn base_sink_prepare_list<T: BaseSinkBase>(
where
T::ImplType: BaseSinkImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let element = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
@ -410,7 +404,6 @@ unsafe extern "C" fn base_sink_query<T: BaseSinkBase>(
where
T::ImplType: BaseSinkImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let element = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
@ -429,7 +422,6 @@ unsafe extern "C" fn base_sink_event<T: BaseSinkBase>(
where
T::ImplType: BaseSinkImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let element = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
@ -447,7 +439,6 @@ unsafe extern "C" fn base_sink_get_caps<T: BaseSinkBase>(
where
T::ImplType: BaseSinkImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let element = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
@ -471,7 +462,6 @@ unsafe extern "C" fn base_sink_set_caps<T: BaseSinkBase>(
where
T::ImplType: BaseSinkImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let element = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
@ -490,7 +480,6 @@ unsafe extern "C" fn base_sink_fixate<T: BaseSinkBase>(
where
T::ImplType: BaseSinkImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let element = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
@ -508,7 +497,6 @@ unsafe extern "C" fn base_sink_unlock<T: BaseSinkBase>(
where
T::ImplType: BaseSinkImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let element = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
@ -525,7 +513,6 @@ unsafe extern "C" fn base_sink_unlock_stop<T: BaseSinkBase>(
where
T::ImplType: BaseSinkImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let element = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);

View file

@ -370,7 +370,6 @@ unsafe extern "C" fn base_src_start<T: BaseSrcBase>(
where
T::ImplType: BaseSrcImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let element = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
@ -387,7 +386,6 @@ unsafe extern "C" fn base_src_stop<T: BaseSrcBase>(
where
T::ImplType: BaseSrcImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let element = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
@ -404,7 +402,6 @@ unsafe extern "C" fn base_src_is_seekable<T: BaseSrcBase>(
where
T::ImplType: BaseSrcImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let element = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
@ -422,7 +419,6 @@ unsafe extern "C" fn base_src_get_size<T: BaseSrcBase>(
where
T::ImplType: BaseSrcImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let element = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
@ -448,7 +444,6 @@ unsafe extern "C" fn base_src_fill<T: BaseSrcBase>(
where
T::ImplType: BaseSrcImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let element = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
@ -469,7 +464,6 @@ unsafe extern "C" fn base_src_create<T: BaseSrcBase>(
where
T::ImplType: BaseSrcImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let element = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
@ -496,7 +490,6 @@ unsafe extern "C" fn base_src_do_seek<T: BaseSrcBase>(
where
T::ImplType: BaseSrcImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let element = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
@ -514,7 +507,6 @@ unsafe extern "C" fn base_src_query<T: BaseSrcBase>(
where
T::ImplType: BaseSrcImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let element = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
@ -533,7 +525,6 @@ unsafe extern "C" fn base_src_event<T: BaseSrcBase>(
where
T::ImplType: BaseSrcImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let element = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
@ -551,7 +542,6 @@ unsafe extern "C" fn base_src_get_caps<T: BaseSrcBase>(
where
T::ImplType: BaseSrcImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let element = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
@ -574,7 +564,6 @@ unsafe extern "C" fn base_src_negotiate<T: BaseSrcBase>(
where
T::ImplType: BaseSrcImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let element = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
@ -592,7 +581,6 @@ unsafe extern "C" fn base_src_set_caps<T: BaseSrcBase>(
where
T::ImplType: BaseSrcImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let element = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
@ -611,7 +599,6 @@ unsafe extern "C" fn base_src_fixate<T: BaseSrcBase>(
where
T::ImplType: BaseSrcImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let element = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
@ -629,7 +616,6 @@ unsafe extern "C" fn base_src_unlock<T: BaseSrcBase>(
where
T::ImplType: BaseSrcImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let element = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
@ -646,7 +632,6 @@ unsafe extern "C" fn base_src_unlock_stop<T: BaseSrcBase>(
where
T::ImplType: BaseSrcImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let element = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);

View file

@ -427,7 +427,6 @@ unsafe extern "C" fn base_transform_start<T: BaseTransformBase>(
where
T::ImplType: BaseTransformImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let element = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
@ -444,7 +443,6 @@ unsafe extern "C" fn base_transform_stop<T: BaseTransformBase>(
where
T::ImplType: BaseTransformImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let element = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
@ -464,7 +462,6 @@ unsafe extern "C" fn base_transform_transform_caps<T: BaseTransformBase>(
where
T::ImplType: BaseTransformImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let element = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
@ -495,7 +492,6 @@ unsafe extern "C" fn base_transform_fixate_caps<T: BaseTransformBase>(
where
T::ImplType: BaseTransformImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let element = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
@ -519,7 +515,6 @@ unsafe extern "C" fn base_transform_set_caps<T: BaseTransformBase>(
where
T::ImplType: BaseTransformImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let element = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
@ -538,7 +533,6 @@ unsafe extern "C" fn base_transform_accept_caps<T: BaseTransformBase>(
where
T::ImplType: BaseTransformImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let element = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
@ -557,7 +551,6 @@ unsafe extern "C" fn base_transform_query<T: BaseTransformBase>(
where
T::ImplType: BaseTransformImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let element = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
@ -584,7 +577,6 @@ unsafe extern "C" fn base_transform_transform_size<T: BaseTransformBase>(
where
T::ImplType: BaseTransformImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let element = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
@ -615,7 +607,6 @@ unsafe extern "C" fn base_transform_get_unit_size<T: BaseTransformBase>(
where
T::ImplType: BaseTransformImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let element = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
@ -639,7 +630,6 @@ unsafe extern "C" fn base_transform_sink_event<T: BaseTransformBase>(
where
T::ImplType: BaseTransformImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let element = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
@ -657,7 +647,6 @@ unsafe extern "C" fn base_transform_src_event<T: BaseTransformBase>(
where
T::ImplType: BaseTransformImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let element = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
@ -676,7 +665,6 @@ unsafe extern "C" fn base_transform_transform<T: BaseTransformBase>(
where
T::ImplType: BaseTransformImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let element = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
@ -698,7 +686,6 @@ unsafe extern "C" fn base_transform_transform_ip<T: BaseTransformBase>(
where
T::ImplType: BaseTransformImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let element = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);

View file

@ -155,7 +155,6 @@ unsafe extern "C" fn bin_add_element<T: BinBase>(
where
T::ImplType: BinImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let bin = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
@ -173,7 +172,6 @@ unsafe extern "C" fn bin_remove_element<T: BinBase>(
where
T::ImplType: BinImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let bin = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
@ -190,7 +188,6 @@ unsafe extern "C" fn bin_handle_message<T: BinBase>(
) where
T::ImplType: BinImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let bin = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);

View file

@ -235,7 +235,6 @@ unsafe extern "C" fn element_change_state<T: ElementBase>(
where
T::ImplType: ElementImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let element = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
@ -265,7 +264,6 @@ unsafe extern "C" fn element_request_new_pad<T: ElementBase>(
where
T::ImplType: ElementImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let element = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
@ -301,7 +299,6 @@ unsafe extern "C" fn element_release_pad<T: ElementBase>(
) where
T::ImplType: ElementImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let element = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
@ -319,7 +316,6 @@ unsafe extern "C" fn element_send_event<T: ElementBase>(
where
T::ImplType: ElementImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let element = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
@ -337,7 +333,6 @@ unsafe extern "C" fn element_query<T: ElementBase>(
where
T::ImplType: ElementImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let element = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
@ -355,7 +350,6 @@ unsafe extern "C" fn element_set_context<T: ElementBase>(
) where
T::ImplType: ElementImpl<T>,
{
callback_guard!();
floating_reference_guard!(ptr);
let element = &*(ptr as *mut InstanceStruct<T>);
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);

View file

@ -22,12 +22,6 @@ pub extern crate glib;
#[macro_use]
pub extern crate gstreamer as gst;
macro_rules! callback_guard {
() => (
let _guard = ::glib::CallbackGuard::new();
)
}
macro_rules! floating_reference_guard {
($obj:ident) => (
let _guard = $crate::FloatingReferenceGuard::new($obj as *mut _);

View file

@ -217,7 +217,6 @@ pub unsafe trait ObjectClass {
handler_return: *const gobject_ffi::GValue,
data: glib_ffi::gpointer,
) -> glib_ffi::gboolean {
callback_guard!();
let accumulator: &&(Fn(&mut glib::Value, &glib::Value) -> bool
+ Send
+ Sync
@ -278,7 +277,6 @@ unsafe extern "C" fn class_init<T: ObjectType>(
klass: glib_ffi::gpointer,
_klass_data: glib_ffi::gpointer,
) {
callback_guard!();
{
let gobject_klass = &mut *(klass as *mut gobject_ffi::GObjectClass);
@ -297,7 +295,6 @@ unsafe extern "C" fn class_init<T: ObjectType>(
}
unsafe extern "C" fn finalize<T: ObjectType>(obj: *mut gobject_ffi::GObject) {
callback_guard!();
let instance = &mut *(obj as *mut InstanceStruct<T>);
drop(Box::from_raw(instance.imp as *mut T::ImplType));
@ -316,7 +313,6 @@ unsafe extern "C" fn get_property<T: ObjectType>(
value: *mut gobject_ffi::GValue,
_pspec: *mut gobject_ffi::GParamSpec,
) {
callback_guard!();
floating_reference_guard!(obj);
match T::get_property(&from_glib_borrow(obj as *mut InstanceStruct<T>), id - 1) {
Ok(v) => {
@ -334,7 +330,6 @@ unsafe extern "C" fn set_property<T: ObjectType>(
value: *mut gobject_ffi::GValue,
_pspec: *mut gobject_ffi::GParamSpec,
) {
callback_guard!();
floating_reference_guard!(obj);
T::set_property(
&from_glib_borrow(obj as *mut InstanceStruct<T>),
@ -399,7 +394,6 @@ unsafe extern "C" fn sub_class_init<T: ObjectType>(
klass: glib_ffi::gpointer,
klass_data: glib_ffi::gpointer,
) {
callback_guard!();
{
let gobject_klass = &mut *(klass as *mut gobject_ffi::GObjectClass);
@ -422,7 +416,6 @@ unsafe extern "C" fn sub_get_property<T: ObjectType>(
value: *mut gobject_ffi::GValue,
_pspec: *mut gobject_ffi::GParamSpec,
) {
callback_guard!();
floating_reference_guard!(obj);
let instance = &*(obj as *mut InstanceStruct<T>);
let imp = instance.get_impl();
@ -443,7 +436,6 @@ unsafe extern "C" fn sub_set_property<T: ObjectType>(
value: *mut gobject_ffi::GValue,
_pspec: *mut gobject_ffi::GParamSpec,
) {
callback_guard!();
floating_reference_guard!(obj);
let instance = &*(obj as *mut InstanceStruct<T>);
let imp = instance.get_impl();
@ -458,7 +450,6 @@ unsafe extern "C" fn sub_init<T: ObjectType>(
obj: *mut gobject_ffi::GTypeInstance,
_klass: glib_ffi::gpointer,
) {
callback_guard!();
floating_reference_guard!(obj);
let instance = &mut *(obj as *mut InstanceStruct<T>);
let klass = &**(obj as *const *const ClassStruct<T>);

View file

@ -40,7 +40,6 @@ struct URIHandlerStatic<T: ObjectType> {
unsafe extern "C" fn uri_handler_get_type<T: ObjectType>(
type_: glib_ffi::GType,
) -> gst_ffi::GstURIType {
callback_guard!();
let klass = gobject_ffi::g_type_class_peek(type_);
let klass = &*(klass as *const ClassStruct<T>);
let interface_static = klass.get_interface_static(gst_ffi::gst_uri_handler_get_type())
@ -51,7 +50,6 @@ unsafe extern "C" fn uri_handler_get_type<T: ObjectType>(
unsafe extern "C" fn uri_handler_get_protocols<T: ObjectType>(
type_: glib_ffi::GType,
) -> *const *const libc::c_char {
callback_guard!();
let klass = gobject_ffi::g_type_class_peek(type_);
let klass = &*(klass as *const ClassStruct<T>);
let interface_static = klass.get_interface_static(gst_ffi::gst_uri_handler_get_type())
@ -62,7 +60,6 @@ unsafe extern "C" fn uri_handler_get_protocols<T: ObjectType>(
unsafe extern "C" fn uri_handler_get_uri<T: ObjectType>(
uri_handler: *mut gst_ffi::GstURIHandler,
) -> *mut libc::c_char {
callback_guard!();
floating_reference_guard!(uri_handler);
let klass = &**(uri_handler as *const *const ClassStruct<T>);
@ -81,7 +78,6 @@ unsafe extern "C" fn uri_handler_set_uri<T: ObjectType>(
uri: *const libc::c_char,
err: *mut *mut glib_ffi::GError,
) -> glib_ffi::gboolean {
callback_guard!();
floating_reference_guard!(uri_handler);
let klass = &**(uri_handler as *const *const ClassStruct<T>);
@ -105,7 +101,6 @@ unsafe extern "C" fn uri_handler_init<T: ObjectType>(
iface: glib_ffi::gpointer,
iface_data: glib_ffi::gpointer,
) {
callback_guard!();
let uri_handler_iface = &mut *(iface as *mut gst_ffi::GstURIHandlerInterface);
let iface_type = (*(iface as *const gobject_ffi::GTypeInterface)).g_type;