diff --git a/gstreamer-gl/src/gl_display_wayland.rs b/gstreamer-gl/src/gl_display_wayland.rs index 67c1a91fd..0d06fd386 100644 --- a/gstreamer-gl/src/gl_display_wayland.rs +++ b/gstreamer-gl/src/gl_display_wayland.rs @@ -13,9 +13,15 @@ use libc::uintptr_t; use GLDisplayWayland; impl GLDisplayWayland { - pub unsafe fn new_with_display(display: uintptr_t) -> Option { - from_glib_full(gst_gl_sys::gst_gl_display_wayland_new_with_display( + pub unsafe fn new_with_display( + display: uintptr_t, + ) -> Result { + let result = from_glib_full(gst_gl_sys::gst_gl_display_wayland_new_with_display( display as gpointer, - )) + )); + match result { + Some(d) => Ok(d), + None => Err(glib_bool_error!("Failed to create new Wayland GL display")), + } } }