[glib/revert-final-type-check] Revert "gtype: Speed up type checks for final types"




commit 54c867a01e46e886ba336c0cc69ad349e022e8d6
Author: Matthias Clasen <mclasen redhat com>
Date:   Mon Jun 6 16:12:20 2022 -0400

    Revert "gtype: Speed up type checks for final types"
    
    This reverts commit 0ddea2d8e2786d056f718f03033e408be4754c0e.
    
    The commit was based on the misunderstanding that types
    declared with G_DECLARE_FINAL_TYPE are actually non-derivable.
    But that is only the case for types defined with
    G_DEFINE_FINAL_TYPE.
    
    Fixes: #2661

 gobject/gtype.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
---
diff --git a/gobject/gtype.h b/gobject/gtype.h
index 24b507bb46..66cac1fc58 100644
--- a/gobject/gtype.h
+++ b/gobject/gtype.h
@@ -1464,7 +1464,7 @@ guint     g_type_get_type_registration_serial (void);
   G_GNUC_UNUSED static inline ModuleObjName * MODULE##_##OBJ_NAME (gpointer ptr) {                       \
     return G_TYPE_CHECK_INSTANCE_CAST (ptr, module_obj_name##_get_type (), ModuleObjName); }             \
   G_GNUC_UNUSED static inline gboolean MODULE##_IS_##OBJ_NAME (gpointer ptr) {                           \
-    return ptr != NULL && G_OBJECT_TYPE (ptr) == module_obj_name##_get_type (); }                            
\
+    return G_TYPE_CHECK_INSTANCE_TYPE (ptr, module_obj_name##_get_type ()); }                            \
   G_GNUC_END_IGNORE_DEPRECATIONS
 
 /**


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]