diff options
author | Benjamin Otte <otte@redhat.com> | 2020-09-09 17:07:01 +0200 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2020-09-09 17:38:37 +0200 |
commit | 8cb03a8cc079c490029b3ef9c99382a584dde298 (patch) | |
tree | 33a14253e58f8b0f5d019cb20b2207d0890acea3 | |
parent | df7cbdfff4fe24fb92a162b119095e3afe8404a4 (diff) | |
download | gtk+-8cb03a8cc079c490029b3ef9c99382a584dde298.tar.gz |
widget: Add a critical when allocation is too small.
-rw-r--r-- | gtk/gtkwidget.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 18038fd1a4..01ea24da59 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -3785,6 +3785,28 @@ gtk_widget_allocate (GtkWidget *widget, "How does the code know the size to allocate?", gtk_widget_get_name (widget), widget); } + if (!GTK_IS_SCROLLABLE (widget)) + { + int min; + gtk_widget_measure (widget, GTK_ORIENTATION_VERTICAL, width, &min, NULL, NULL, NULL); + if (min > height) + { + g_critical ("Allocation height too small. Tried to allocate %dx%d, but %s %p needs " + "at least %dx%d.", + width, height, + gtk_widget_get_name (widget), widget, + width, min); + } + gtk_widget_measure (widget, GTK_ORIENTATION_HORIZONTAL, height, &min, NULL, NULL, NULL); + if (min > width) + { + g_critical ("Allocation width too small. Tried to allocate %dx%d, but %s %p needs " + "at least %dx%d.", + width, height, + gtk_widget_get_name (widget), widget, + min, height); + } + } #endif /* G_ENABLE_DEBUG */ alloc_needed = priv->alloc_needed; |