[glib] gtype: interface-after-init exception for glibmm
- From: Ryan Lortie <ryanl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib] gtype: interface-after-init exception for glibmm
- Date: Thu, 4 Apr 2013 15:10:34 +0000 (UTC)
commit c5307e4cba67fadf1749c9a5c127bf1000c1dc89
Author: Ryan Lortie <desrt desrt ca>
Date: Thu Apr 4 09:31:11 2013 -0400
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
gobject/gtype.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
---
diff --git a/gobject/gtype.c b/gobject/gtype.c
index a821442..1fd31e8 100644
--- a/gobject/gtype.c
+++ b/gobject/gtype.c
@@ -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",
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));
if (NODE_PARENT_TYPE (tnode) && !type_lookup_iface_entry_L (node, tnode))
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]