gtype: interface-after-init exception for gtk#
authorRyan Lortie <desrt@desrt.ca>
Thu, 4 Apr 2013 15:12:42 +0000 (11:12 -0400)
committerRyan Lortie <desrt@desrt.ca>
Thu, 4 Apr 2013 15:59:53 +0000 (11:59 -0400)
gtk# also has a problem with the new interface-after-init restriction
that nobody noticed until now.  Add an exception for them as well so
that they have a cycle or so to sort things out.

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

gobject/gtype.c

index 1fd31e8..82534ca 100644 (file)
@@ -1007,8 +1007,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));
 
-      /* See https://bugzilla.gnome.org/show_bug.cgi?id=697229 */
-      if (!g_str_has_prefix (NODE_NAME (node), "gtkmm__CustomObject_"))
+      /* 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;
     }
   tnode = lookup_type_node_I (NODE_PARENT_TYPE (iface));