forked from mirrors/gstreamer-rs
Use glib::Error::into_raw() for passing GErrors without copying back to C
This commit is contained in:
parent
1609a7c923
commit
a775f58753
2 changed files with 2 additions and 8 deletions
|
@ -3,16 +3,10 @@
|
|||
use crate::WebRTCDataChannel;
|
||||
use glib::translate::*;
|
||||
|
||||
use std::mem;
|
||||
|
||||
impl WebRTCDataChannel {
|
||||
pub fn on_error(&self, error: glib::Error) {
|
||||
let error = mem::ManuallyDrop::new(error);
|
||||
unsafe {
|
||||
ffi::gst_webrtc_data_channel_on_error(
|
||||
self.to_glib_none().0,
|
||||
mut_override(error.to_glib_none().0),
|
||||
);
|
||||
ffi::gst_webrtc_data_channel_on_error(self.to_glib_none().0, error.into_raw());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -146,7 +146,7 @@ unsafe extern "C" fn uri_handler_set_uri<T: URIHandlerImpl>(
|
|||
) {
|
||||
Ok(()) => true.to_glib(),
|
||||
Err(error) => {
|
||||
*err = error.to_glib_full() as *mut _;
|
||||
*err = error.into_raw();
|
||||
false.to_glib()
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue