From 5f05f7ec05d3af1d1d09ecd4d256f67ed6cb00e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Fri, 27 Jan 2023 16:29:49 +0200 Subject: [PATCH] gl: Mark `other_context` in `GLDisplay::create_context()` as nullable Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/438 Part-of: --- gstreamer-gl/Gir.toml | 6 ++++++ gstreamer-gl/src/auto/gl_display.rs | 10 ++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/gstreamer-gl/Gir.toml b/gstreamer-gl/Gir.toml index 24a09092e..cdb13e09f 100644 --- a/gstreamer-gl/Gir.toml +++ b/gstreamer-gl/Gir.toml @@ -341,6 +341,12 @@ status = "generate" # glib::Thread not found in `glib` ignore = true + [[object.function]] + name = "create_context" + [[object.function.parameter]] + name = "other_context" + nullable = true + [[object.function]] name = "add_context" [object.function.return] diff --git a/gstreamer-gl/src/auto/gl_display.rs b/gstreamer-gl/src/auto/gl_display.rs index e3e236b0c..a0cc68736 100644 --- a/gstreamer-gl/src/auto/gl_display.rs +++ b/gstreamer-gl/src/auto/gl_display.rs @@ -53,8 +53,10 @@ pub trait GLDisplayExt: 'static { fn add_context(&self, context: &impl IsA) -> Result<(), glib::error::BoolError>; #[doc(alias = "gst_gl_display_create_context")] - fn create_context(&self, other_context: &impl IsA) - -> Result; + fn create_context( + &self, + other_context: Option<&impl IsA>, + ) -> Result; #[doc(alias = "gst_gl_display_create_window")] fn create_window(&self) -> Result; @@ -111,14 +113,14 @@ impl> GLDisplayExt for O { fn create_context( &self, - other_context: &impl IsA, + other_context: Option<&impl IsA>, ) -> Result { unsafe { let mut p_context = ptr::null_mut(); let mut error = ptr::null_mut(); let is_ok = ffi::gst_gl_display_create_context( self.as_ref().to_glib_none().0, - other_context.as_ref().to_glib_none().0, + other_context.map(|p| p.as_ref()).to_glib_none().0, &mut p_context, &mut error, );