Fixed: If can’t add child, don’t add to child info

If the call to set_parent() failed, we were still adding the child to
the internal list of children, despite that it was not really added.
That meant we could later try to do invalid stuff with that non-child.

Fix that by asserting and giving up if the child that the user is
attempting to add is already parented.

https://bugzilla.gnome.org/show_bug.cgi?id=701296
This commit is contained in:
Daniel Boles 2017-10-12 14:05:09 +01:00
parent 9dde11bdea
commit be5a7b2db2

View File

@ -235,6 +235,7 @@ gtk_fixed_put (GtkFixed *fixed,
g_return_if_fail (GTK_IS_FIXED (fixed));
g_return_if_fail (GTK_IS_WIDGET (widget));
g_return_if_fail (_gtk_widget_get_parent (widget) == NULL);
priv = fixed->priv;