diff --git a/gtk/gtkgrid.c b/gtk/gtkgrid.c index f202bb4f84..e1c56f948f 100644 --- a/gtk/gtkgrid.c +++ b/gtk/gtkgrid.c @@ -1048,6 +1048,15 @@ gtk_grid_get_size (GtkGrid *grid, GtkGridRequest request; GtkGridLines *lines; + if (minimum) + *minimum = 0; + + if (natural) + *natural = 0; + + if (grid->priv->children == NULL) + return; + request.grid = grid; gtk_grid_request_count_lines (&request); lines = &request.lines[orientation]; @@ -1069,6 +1078,15 @@ gtk_grid_get_size_for_size (GtkGrid *grid, GtkGridLines *lines; gint min_size; + if (minimum) + *minimum = 0; + + if (natural) + *natural = 0; + + if (grid->priv->children == NULL) + return; + request.grid = grid; gtk_grid_request_count_lines (&request); lines = &request.lines[0]; @@ -1214,6 +1232,12 @@ gtk_grid_size_allocate (GtkWidget *widget, GtkGridRequest request; GtkGridLines *lines; + if (priv->children == NULL) + { + gtk_widget_set_allocation (widget, allocation); + return; + } + request.grid = grid; gtk_grid_request_count_lines (&request);