mirror of
https://gitlab.freedesktop.org/dabrain34/GstPipelineStudio.git
synced 2024-09-27 06:00:07 +00:00
15 lines
381 B
Rust
15 lines
381 B
Rust
|
// Macro for upgrading a weak reference or returning the given value
|
||
|
//
|
||
|
// This works for glib/gtk objects as well as anything else providing an upgrade method
|
||
|
macro_rules! upgrade_weak {
|
||
|
($x:ident, $r:expr) => {{
|
||
|
match $x.upgrade() {
|
||
|
Some(o) => o,
|
||
|
None => return $r,
|
||
|
}
|
||
|
}};
|
||
|
($x:ident) => {
|
||
|
upgrade_weak!($x, ())
|
||
|
};
|
||
|
}
|