mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-06-05 20:30:07 +02:00
gtype: guard uses of new fundamental type check
g_type_is_fundamentally_a (see bug 730984) is a new API/ABI and is marked with a version macro. We should therefore avoid its unconditional use from G_IS_OBJECT() and G_IS_PARAM_SPEC() which are APIs that have been around for a long time. This prevents deprecation warnings from being emitted when these functions are used with an older GLIB_VERSION_MAX_ALLOWED and also prevents linking to the new ABI in that case (so that it's possible to use the resulting binary with an older version of GLib). https://bugzilla.gnome.org/show_bug.cgi?id=731335
This commit is contained in:
parent
0208861a13
commit
d558e87c65
@ -62,7 +62,11 @@ G_BEGIN_DECLS
|
|||||||
*
|
*
|
||||||
* Checks whether a valid #GTypeInstance pointer is of type %G_TYPE_OBJECT.
|
* Checks whether a valid #GTypeInstance pointer is of type %G_TYPE_OBJECT.
|
||||||
*/
|
*/
|
||||||
|
#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_42
|
||||||
#define G_IS_OBJECT(object) (G_TYPE_CHECK_INSTANCE_FUNDAMENTAL_TYPE ((object), G_TYPE_OBJECT))
|
#define G_IS_OBJECT(object) (G_TYPE_CHECK_INSTANCE_FUNDAMENTAL_TYPE ((object), G_TYPE_OBJECT))
|
||||||
|
#else
|
||||||
|
#define G_IS_OBJECT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), G_TYPE_OBJECT))
|
||||||
|
#endif
|
||||||
/**
|
/**
|
||||||
* G_IS_OBJECT_CLASS:
|
* G_IS_OBJECT_CLASS:
|
||||||
* @class: a #GObjectClass
|
* @class: a #GObjectClass
|
||||||
|
@ -50,7 +50,11 @@ G_BEGIN_DECLS
|
|||||||
* Checks whether @pspec "is a" valid #GParamSpec structure of type %G_TYPE_PARAM
|
* Checks whether @pspec "is a" valid #GParamSpec structure of type %G_TYPE_PARAM
|
||||||
* or derived.
|
* or derived.
|
||||||
*/
|
*/
|
||||||
|
#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_42
|
||||||
#define G_IS_PARAM_SPEC(pspec) (G_TYPE_CHECK_INSTANCE_FUNDAMENTAL_TYPE ((pspec), G_TYPE_PARAM))
|
#define G_IS_PARAM_SPEC(pspec) (G_TYPE_CHECK_INSTANCE_FUNDAMENTAL_TYPE ((pspec), G_TYPE_PARAM))
|
||||||
|
#else
|
||||||
|
#define G_IS_PARAM_SPEC(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM))
|
||||||
|
#endif
|
||||||
/**
|
/**
|
||||||
* G_PARAM_SPEC_CLASS:
|
* G_PARAM_SPEC_CLASS:
|
||||||
* @pclass: a valid #GParamSpecClass
|
* @pclass: a valid #GParamSpecClass
|
||||||
|
Loading…
x
Reference in New Issue
Block a user