mirror of
				https://gitlab.gnome.org/GNOME/glib.git
				synced 2025-11-04 10:08:56 +01: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:
		@@ -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
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user