window: Make sure we query the window size before size-allocate'ing

This commit is contained in:
Timm Bäder 2017-10-20 10:58:31 +02:00
parent 73b52665e6
commit 04c550bfb5

View File

@ -8926,6 +8926,7 @@ gtk_window_move_resize (GtkWindow *window)
else else
{ {
GtkAllocation allocation, clip; GtkAllocation allocation, clip;
GtkRequisition minsize;
/* Handle any position changes. /* Handle any position changes.
*/ */
@ -8935,13 +8936,15 @@ gtk_window_move_resize (GtkWindow *window)
new_request.x, new_request.y); new_request.x, new_request.y);
} }
gtk_widget_get_preferred_size (widget, &minsize, NULL);
/* Our configure request didn't change size, but maybe some of /* Our configure request didn't change size, but maybe some of
* our child widgets have. Run a size allocate with our current * our child widgets have. Run a size allocate with our current
* size to make sure that we re-layout our child widgets. */ * size to make sure that we re-layout our child widgets. */
allocation.x = 0; allocation.x = 0;
allocation.y = 0; allocation.y = 0;
allocation.width = current_width; allocation.width = MAX (current_width, minsize.width);
allocation.height = current_height; allocation.height = MAX (current_height, minsize.height);
gtk_widget_size_allocate (widget, &allocation, -1, &clip); gtk_widget_size_allocate (widget, &allocation, -1, &clip);
} }