mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-02-09 04:15:49 +01:00
gtype: interface-after-init exception for glibmm
glibmm has a pretty difficult-to-solve problem caused by our recent change to deny addition of interfaces to classes after initialisation. They're looking for a long-term workaround for the problem, but in the meantime we can allow the registration to succeed (with warning) if the class looks like it's being defined by gtkmm. https://bugzilla.gnome.org/show_bug.cgi?id=697229
This commit is contained in:
parent
859e4239c5
commit
c5307e4cba
@ -1006,7 +1006,10 @@ check_add_interface_L (GType instance_type,
|
|||||||
{
|
{
|
||||||
g_warning ("attempting to add an interface (%s) to class (%s) after class_init",
|
g_warning ("attempting to add an interface (%s) to class (%s) after class_init",
|
||||||
NODE_NAME (iface), NODE_NAME (node));
|
NODE_NAME (iface), NODE_NAME (node));
|
||||||
return FALSE;
|
|
||||||
|
/* See https://bugzilla.gnome.org/show_bug.cgi?id=697229 */
|
||||||
|
if (!g_str_has_prefix (NODE_NAME (node), "gtkmm__CustomObject_"))
|
||||||
|
return FALSE;
|
||||||
}
|
}
|
||||||
tnode = lookup_type_node_I (NODE_PARENT_TYPE (iface));
|
tnode = lookup_type_node_I (NODE_PARENT_TYPE (iface));
|
||||||
if (NODE_PARENT_TYPE (tnode) && !type_lookup_iface_entry_L (node, tnode))
|
if (NODE_PARENT_TYPE (tnode) && !type_lookup_iface_entry_L (node, tnode))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user