From 337f00a85cbcc96ff3e1f71a5c5ba80c714be79d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Fri, 18 Aug 2017 16:28:08 +0300 Subject: [PATCH] Implement SetValueOptional for Structure --- gstreamer/src/structure.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/gstreamer/src/structure.rs b/gstreamer/src/structure.rs index 8c6f3b502..8a545f3d1 100644 --- a/gstreamer/src/structure.rs +++ b/gstreamer/src/structure.rs @@ -240,6 +240,16 @@ impl glib::value::SetValue for Structure { } } +impl glib::value::SetValueOptional for Structure { + unsafe fn set_value_optional(v: &mut glib::Value, s: Option<&Self>) { + if let Some(s) = s { + gobject_ffi::g_value_set_boxed(v.to_glib_none_mut().0, s.as_ptr() as gpointer); + } else { + gobject_ffi::g_value_set_boxed(v.to_glib_none_mut().0, ptr::null_mut()); + } + } +} + impl GlibPtrDefault for Structure { type GlibType = *mut ffi::GstStructure; }