patch to gtype.c



There's a small bug in the new glib interface code.   In the function
type_class_init in gtype.c, the code loops through the list of
interfaces, initializing the vtable for each one.  A typo makes it
initialize the same interface over and over.

Walt

Index: gtype.c
===================================================================
RCS file: /cvs/gnome/glib/gobject/gtype.c,v
retrieving revision 1.1
diff -u -r1.1 gtype.c
--- gtype.c 2000/05/12 15:22:31 1.1
+++ gtype.c 2000/06/10 02:05:41
@@ -1014,14 +1014,14 @@
   /* ok, we got the class done, now initialize all interfaces */
   for (entry = NULL, i = 0; i < node->n_ifaces; i++)
     if (!node->private.iface_entries[i].vtable)
-      entry = node->private.iface_entries;
+      entry = node->private.iface_entries + i;
   while (entry)
     {
       type_iface_vtable_init (LOOKUP_TYPE_NODE (entry->iface_type),
node);

       for (entry = NULL, i = 0; i < node->n_ifaces; i++)
  if (!node->private.iface_entries[i].vtable)
-   entry = node->private.iface_entries;
+   entry = node->private.iface_entries + i;
     }
 }






[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]