mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-27 06:00:22 +00:00
sizerequest: Add a critical when for_size is too small
It's not expensive to check it because we'll cache the dfault size request anyway, and people do it wrong a lot. As a bonus, don't do any return_if_fail(), just use the min size instead.
This commit is contained in:
parent
e378dc4c28
commit
163616cc0a
@ -488,6 +488,18 @@ gtk_widget_measure (GtkWidget *widget,
|
||||
g_return_if_fail (orientation == GTK_ORIENTATION_HORIZONTAL ||
|
||||
orientation == GTK_ORIENTATION_VERTICAL);
|
||||
|
||||
if (for_size >= 0)
|
||||
{
|
||||
int min_opposite_size;
|
||||
gtk_widget_measure (widget, OPPOSITE_ORIENTATION (orientation), -1, &min_opposite_size, NULL, NULL, NULL);
|
||||
if (for_size < min_opposite_size)
|
||||
{
|
||||
g_critical ("gtk_widget_measure: assertion 'for_size >= minimum opposite size' failed for %s %p: %u >= %u",
|
||||
G_OBJECT_TYPE_NAME (widget), widget, for_size, min_opposite_size);
|
||||
for_size = min_opposite_size;
|
||||
}
|
||||
}
|
||||
|
||||
/* This is the main function that checks for a cached size and
|
||||
* possibly queries the widget class to compute the size if it's
|
||||
* not cached.
|
||||
|
Loading…
Reference in New Issue
Block a user