diff --git a/docs/reference/glib/tmpl/glib-unused.sgml b/docs/reference/glib/tmpl/glib-unused.sgml index ac05685f3..6d653cbfb 100644 --- a/docs/reference/glib/tmpl/glib-unused.sgml +++ b/docs/reference/glib/tmpl/glib-unused.sgml @@ -156,6 +156,21 @@ Turns the argument into a string literal by using the '#' stringizing operator. @x: text to convert to a literal string. + + +Gets the original key and the associated value and a gboolean which is +TRUE if the key was found. This is useful if you need to free the memory +allocated for the original key, for example before calling g_tree_remove(). +Since a #GTree is automatically balanced as key/value pairs are added, +key lookup is very fast. + + +@tree: a #GTree. +@lookup_key: the key to look up. +@orig_key: returns the original key. +@value: returns the value associated with the key. +@Returns: TRUE if the key was found in the #GTree. + diff --git a/docs/reference/glib/tmpl/trees-binary.sgml b/docs/reference/glib/tmpl/trees-binary.sgml index 58fa33476..c68e739eb 100644 --- a/docs/reference/glib/tmpl/trees-binary.sgml +++ b/docs/reference/glib/tmpl/trees-binary.sgml @@ -124,22 +124,6 @@ added, key lookup is very fast. @Returns: the value corresponding to the key. - - -Gets the original key and the associated value and a gboolean which is -TRUE if the key was found. This is useful if you need to free the memory -allocated for the original key, for example before calling g_tree_remove(). -Since a #GTree is automatically balanced as key/value pairs are added, -key lookup is very fast. - - -@tree: a #GTree. -@lookup_key: the key to look up. -@orig_key: returns the original key. -@value: returns the value associated with the key. -@Returns: TRUE if the key was found in the #GTree. - - Searches a #GTree using an alternative form of the comparison function. diff --git a/gobject/ChangeLog b/gobject/ChangeLog index a966cb8e8..309a18a4a 100644 --- a/gobject/ChangeLog +++ b/gobject/ChangeLog @@ -1,3 +1,12 @@ +Fri Mar 9 10:14:00 2001 Tim Janik + + * gparamspecs.c (g_param_spec_object): use g_type_is_a() to check + for object_type being a G_TYPE_OBJECT, not G_TYPE_IS_OBJECT(), since + that wouldn't allow interface types. + + * gtype.c (g_type_interface_add_prerequisite): arg, fixed small cnp bug + with bad implications and an off-by-one error. + Thu Mar 8 16:34:22 2001 Owen Taylor * gvaluetransform.c: Include for memcpy. diff --git a/gobject/gparamspecs.c b/gobject/gparamspecs.c index 35f60e015..d305f2c14 100644 --- a/gobject/gparamspecs.c +++ b/gobject/gparamspecs.c @@ -1587,7 +1587,7 @@ g_param_spec_object (const gchar *name, { GParamSpecObject *ospec; - g_return_val_if_fail (G_TYPE_IS_OBJECT (object_type), NULL); + g_return_val_if_fail (g_type_is_a (object_type, G_TYPE_OBJECT), NULL); ospec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, diff --git a/gobject/gtype.c b/gobject/gtype.c index 6f7450388..06a7303b5 100644 --- a/gobject/gtype.c +++ b/gobject/gtype.c @@ -1141,7 +1141,7 @@ g_type_interface_add_prerequisite (GType interface_type, G_WRITE_LOCK (&type_rw_lock); iface = lookup_type_node_L (interface_type); - prerequisite_node = lookup_type_node_L (interface_type); + prerequisite_node = lookup_type_node_L (prerequisite_type); if (!iface || !prerequisite_node || !NODE_IS_IFACE (iface)) { g_warning ("interface type `%s' or prerequisite type `%s' invalid", @@ -1164,7 +1164,7 @@ g_type_interface_add_prerequisite (GType interface_type, { guint i; - for (i = 0; i < prerequisite_node->n_supers; i++) + for (i = 0; i < prerequisite_node->n_supers + 1; i++) type_iface_add_prerequisite_W (iface, lookup_type_node_L (prerequisite_node->supers[i])); } else if (NODE_IS_IFACE (prerequisite_node))