mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-17 06:10:15 +00:00
GtkExpander: Fix a problem with resize-toplevel
The toplevel resizing was not working properly when the content had non-trivial height-for-width behavior (such as a wrapping label).
This commit is contained in:
parent
eb88ce429c
commit
6a214c9bcd
@ -1244,23 +1244,21 @@ gtk_expander_resize_toplevel (GtkExpander *expander)
|
||||
if (toplevel && gtk_widget_get_realized (toplevel))
|
||||
{
|
||||
GtkAllocation toplevel_allocation;
|
||||
GtkAllocation child_allocation;
|
||||
|
||||
gtk_widget_get_allocation (toplevel, &toplevel_allocation);
|
||||
gtk_widget_get_allocation (child, &child_allocation);
|
||||
|
||||
if (priv->expanded)
|
||||
{
|
||||
GtkRequisition child_requisition;
|
||||
|
||||
gtk_widget_get_preferred_size (child, &child_requisition, NULL);
|
||||
gtk_widget_get_preferred_height_for_width (child, child_allocation.width, &child_requisition.height, NULL);
|
||||
|
||||
toplevel_allocation.height += child_requisition.height;
|
||||
}
|
||||
else
|
||||
{
|
||||
GtkAllocation child_allocation;
|
||||
|
||||
gtk_widget_get_allocation (child, &child_allocation);
|
||||
|
||||
toplevel_allocation.height -= child_allocation.height;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user