When adding ancestral prerequisites, add the grandparents, not the

Thu Jul 25 20:34:39 2002  Owen Taylor  <otaylor@redhat.com>

        * gtype.c (g_type_interface_add_prerequisite): When
        adding ancestral prerequisites, add the grandparents,
        not the siblings. (Problem found by Jon Trowbridge, patch from
        Dave Camp, #86879)
This commit is contained in:
Owen Taylor
2002-07-26 00:42:21 +00:00
committed by Owen Taylor
parent bedbbabba7
commit bd76d64106
2 changed files with 12 additions and 6 deletions

View File

@@ -1202,13 +1202,12 @@ g_type_interface_add_prerequisite (GType interface_type,
}
else if (NODE_IS_IFACE (prerequisite_node))
{
GType *dependants;
guint n_dependants, i;
GType *prerequisites;
guint i;
dependants = iface_node_get_dependants_array_L (prerequisite_node);
n_dependants = dependants ? dependants[0] : 0;
for (i = 1; i <= n_dependants; i++)
type_iface_add_prerequisite_W (iface, lookup_type_node_I (dependants[i]));
prerequisites = IFACE_NODE_PREREQUISITES (prerequisite_node);
for (i = 0; i < IFACE_NODE_N_PREREQUISITES (prerequisite_node); i++)
type_iface_add_prerequisite_W (iface, lookup_type_node_I (prerequisites[i]));
type_iface_add_prerequisite_W (iface, prerequisite_node);
G_WRITE_UNLOCK (&type_rw_lock);
}