[gtk/wip/otte/for-master: 43/46] sizerequest: Add a critical when for_size is too small
- From: Benjamin Otte <otte src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/wip/otte/for-master: 43/46] sizerequest: Add a critical when for_size is too small
- Date: Fri, 19 Nov 2021 22:47:59 +0000 (UTC)
commit 163616cc0ada31ad667e8db7b22a6fa817021ebc
Author: Benjamin Otte <otte redhat com>
Date: Fri Nov 19 21:58:09 2021 +0100
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.
gtk/gtksizerequest.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
---
diff --git a/gtk/gtksizerequest.c b/gtk/gtksizerequest.c
index a0f066b997..199bce2575 100644
--- a/gtk/gtksizerequest.c
+++ b/gtk/gtksizerequest.c
@@ -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.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]