gtype: remove interface-after-init exceptions
authorRyan Lortie <desrt@desrt.ca>
Fri, 6 Jun 2014 20:51:40 +0000 (16:51 -0400)
committerRyan Lortie <desrt@desrt.ca>
Mon, 9 Jun 2014 18:18:15 +0000 (14:18 -0400)
A year ago, we tried to remove support for adding interfaces on
already-initialised types.  There were problems with the C++ and C#
bindings at the time, so we added exceptions to give them a bit more
time to catch up.

It's already one cycle after when these exceptions were planned to be
removed, so let's take them out now.

https://bugzilla.gnome.org/show_bug.cgi?id=697229

gobject/gtype.c

index f2356ca..e33a612 100644 (file)
@@ -1007,12 +1007,7 @@ 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));
-
-      /* See https://bugzilla.gnome.org/show_bug.cgi?id=697229,
-       * https://bugzilla.gnome.org/show_bug.cgi?id=687659
-       */
-      if (!g_str_has_prefix (NODE_NAME (node), "gtkmm__CustomObject_") && !strstr (NODE_NAME (node), "_gtksharp_"))
-        return FALSE;
+      return FALSE;
     }
   tnode = lookup_type_node_I (NODE_PARENT_TYPE (iface));
   if (NODE_PARENT_TYPE (tnode) && !type_lookup_iface_entry_L (node, tnode))