*
* Children are added using gtk_grid_attach(). They can span multiple
* rows or columns. It is also possible to add a child next to an
- * existing child, using gtk_grid_attach_next_to().
+ * existing child, using gtk_grid_attach_next_to(). The behaviour of
+ * GtkGrid when several children occupy the same grid cell is undefined.
*
* GtkGrid can be used like a #GtkBox by just using gtk_container_add(),
* which will place children next to each other in the direction determined
* Gets the child of @grid whose area covers the grid
* cell whose upper left corner is at @left, @top.
*
- * Returns: the child at the given position, or %NULL
+ * Returns: (transfer none): the child at the given position, or %NULL
*
* Since: 3.2
*/
gint left,
gint top)
{
- GtkGridPrivate *priv = grid->priv;
+ GtkGridPrivate *priv;
GtkGridChild *child;
GList *list;
+ g_return_val_if_fail (GTK_IS_GRID (grid), NULL);
+
+ priv = grid->priv;
+
for (list = priv->children; list; list = list->next)
{
child = list->data;
gtk_grid_insert_row (GtkGrid *grid,
gint position)
{
- GtkGridPrivate *priv = grid->priv;
+ GtkGridPrivate *priv;
GtkGridChild *child;
GList *list;
gint top, height;
g_return_if_fail (GTK_IS_GRID (grid));
+ priv = grid->priv;
+
for (list = priv->children; list; list = list->next)
{
child = list->data;
gtk_grid_insert_column (GtkGrid *grid,
gint position)
{
- GtkGridPrivate *priv = grid->priv;
+ GtkGridPrivate *priv;
GtkGridChild *child;
GList *list;
gint left, width;
g_return_if_fail (GTK_IS_GRID (grid));
+ priv = grid->priv;
+
for (list = priv->children; list; list = list->next)
{
child = list->data;