diff --git a/gst-plugin/src/element.rs b/gst-plugin/src/element.rs index 05d60b84..1e0b957b 100644 --- a/gst-plugin/src/element.rs +++ b/gst-plugin/src/element.rs @@ -103,9 +103,9 @@ pub unsafe trait ElementBase: IsA + ObjectType { } } - fn catch_panic T, T>(&self, fallback: T, f: F) -> T { + fn catch_panic T, G: FnOnce() -> T>(&self, fallback: G, f: F) -> T { let panicked = unsafe { &(*self.get_instance()).panicked }; - panic_to_error!(self, panicked, fallback, { f(self) }) + panic_to_error!(self, panicked, fallback(), { f(self) }) } }