Unconditionally return the height for the minimum width when doing get_desired_height()
This is the correct support for the opposing orientation for widgets that support height-for-width, in an interface that was realized as width-for-height, a height-for-width supporting widget should return the minimum height for the minimum width when the initial get_desired_height() is run.
This commit is contained in:
parent
ee8db39393
commit
de4a8f8ddc
@ -3417,15 +3417,15 @@ gtk_label_get_desired_size (GtkExtendedLayout *layout,
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* When wrapping, just return a height contextual to the minimum width
|
if (!label->have_transform)
|
||||||
* (minimum widths can only be specified by explicitly setting width-chars).
|
{
|
||||||
*/
|
/* Doing a w4h request on a label here, return the required height for the minimum width. */
|
||||||
if (label->wrap && !label->have_transform)
|
get_size_for_allocation (label, GTK_ORIENTATION_HORIZONTAL,
|
||||||
get_size_for_allocation (label, GTK_ORIENTATION_HORIZONTAL,
|
(required_rect.width + label->misc.xpad * 2), minimum_size, natural_size);
|
||||||
(required_rect.width + label->misc.xpad * 2), minimum_size, natural_size);
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* If there is no wrapping, the height is either static or rotated and ellipsized */
|
/* Rotated labels already setup the required height here */
|
||||||
*minimum_size = required_rect.height + label->misc.ypad * 2;
|
*minimum_size = required_rect.height + label->misc.ypad * 2;
|
||||||
*natural_size = natural_rect.height + label->misc.ypad * 2;
|
*natural_size = natural_rect.height + label->misc.ypad * 2;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user