diff --git a/gtk/gtkbuilderparser.c b/gtk/gtkbuilderparser.c index ccfb1cbc56..c2afb64579 100644 --- a/gtk/gtkbuilderparser.c +++ b/gtk/gtkbuilderparser.c @@ -1409,13 +1409,13 @@ expression_info_construct (GtkBuilder *builder, return NULL; } - if (g_type_is_a (type, G_TYPE_OBJECT)) + if (g_type_fundamental (type) == G_TYPE_OBJECT) { GObjectClass *class = g_type_class_ref (type); pspec = g_object_class_find_property (class, info->property.property_name); g_type_class_unref (class); } - else if (g_type_is_a (type, G_TYPE_INTERFACE)) + else if (g_type_fundamental (type) == G_TYPE_INTERFACE) { GTypeInterface *iface = g_type_default_interface_ref (type); pspec = g_object_interface_find_property (iface, info->property.property_name);