mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-05-08 05:28:07 +02:00
shared/glib: add compat implementation for g_value_unset() to allow unintialized GValue
This commit is contained in:
parent
22dc82724c
commit
1f906d9214
1 changed files with 24 additions and 0 deletions
|
|
@ -538,4 +538,28 @@ _nm_g_variant_new_printf (const char *format_string, ...)
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
#if !GLIB_CHECK_VERSION (2, 47, 1)
|
||||||
|
/* Older versions of g_value_unset() only allowed to unset a GValue which
|
||||||
|
* was initialized previously. This was relaxed ([1], [2], [3]).
|
||||||
|
*
|
||||||
|
* Our nm_auto_unset_gvalue macro requires to be able to call g_value_unset().
|
||||||
|
* Also, it is our general practice to allow for that. Add a compat implementation.
|
||||||
|
*
|
||||||
|
* [1] https://gitlab.gnome.org/GNOME/glib/commit/4b2d92a864f1505f1b08eb639d74293fa32681da
|
||||||
|
* [2] commit "Allow passing unset GValues to g_value_unset()"
|
||||||
|
* [3] https://bugzilla.gnome.org/show_bug.cgi?id=755766
|
||||||
|
*/
|
||||||
|
static inline void
|
||||||
|
_nm_g_value_unset (GValue *value)
|
||||||
|
{
|
||||||
|
g_return_if_fail (value);
|
||||||
|
|
||||||
|
if (value->g_type != 0)
|
||||||
|
g_value_unset (value);
|
||||||
|
}
|
||||||
|
#define g_value_unset _nm_g_value_unset
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
#endif /* __NM_GLIB_H__ */
|
#endif /* __NM_GLIB_H__ */
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue