actor: Allow insert_child_at_index to add a child at the end with an index

If we have N children and the user passes N (or a number beyond N) to
clutter_actor_insert_child_at_index, we should respond by adding the
child at the end, not silently doing nothing.
This commit is contained in:
Jasper St. Pierre 2012-02-13 17:12:41 -05:00
parent bbb7da03ac
commit e315122895

View File

@ -9929,7 +9929,7 @@ insert_child_at_index (ClutterActor *self,
child->priv->prev_sibling = NULL; child->priv->prev_sibling = NULL;
child->priv->next_sibling = tmp; child->priv->next_sibling = tmp;
} }
else if (index_ < 0) else if (index_ < 0 || index_ >= self->priv->n_children)
{ {
ClutterActor *tmp = self->priv->last_child; ClutterActor *tmp = self->priv->last_child;
@ -10240,7 +10240,8 @@ clutter_actor_add_child (ClutterActor *self,
* @index_: the index * @index_: the index
* *
* Inserts @child into the list of children of @self, using the * Inserts @child into the list of children of @self, using the
* given @index_. * given @index_. If @index_ is greater than the number of children
* in @self, or is less than 0, then the new child is added at the end.
* *
* This function will acquire a reference on @child that will only * This function will acquire a reference on @child that will only
* be released when calling clutter_actor_remove_child(). * be released when calling clutter_actor_remove_child().