From 51b83c43898d8ca534b0ee213a8a0f396d976a0a Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 4 Mar 2016 13:43:19 -0500 Subject: gadget: Warn if for_size is too small It does not make sense to pass a for_size into the size allocation machinery that is smaller than the min-size in that direction. Warn if it happens, so we can track it down when it occurs. --- gtk/gtkcssgadget.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'gtk/gtkcssgadget.c') diff --git a/gtk/gtkcssgadget.c b/gtk/gtkcssgadget.c index d93075db19..c31da1602a 100644 --- a/gtk/gtkcssgadget.c +++ b/gtk/gtkcssgadget.c @@ -615,6 +615,7 @@ gtk_css_gadget_get_preferred_size (GtkCssGadget *gadget, int min_size, extra_size, extra_opposite, extra_baseline; int unused_minimum, unused_natural; int forced_minimum, forced_natural; + int min_for_size; if (minimum == NULL) minimum = &unused_minimum; @@ -642,6 +643,7 @@ gtk_css_gadget_get_preferred_size (GtkCssGadget *gadget, extra_opposite = margin.top + margin.bottom + border.top + border.bottom + padding.top + padding.bottom; extra_baseline = margin.left + border.left + padding.left; min_size = get_number (style, GTK_CSS_PROPERTY_MIN_WIDTH); + min_for_size = get_number (style, GTK_CSS_PROPERTY_MIN_HEIGHT); } else { @@ -649,10 +651,16 @@ gtk_css_gadget_get_preferred_size (GtkCssGadget *gadget, extra_opposite = margin.left + margin.right + border.left + border.right + padding.left + padding.right; extra_baseline = margin.top + border.top + padding.top; min_size = get_number (style, GTK_CSS_PROPERTY_MIN_HEIGHT); + min_for_size = get_number (style, GTK_CSS_PROPERTY_MIN_WIDTH); } if (for_size > -1) - for_size = MAX (0, for_size - extra_opposite); + { + if (for_size < min_for_size) + g_warning ("for_size smaller than min-size: %d < %d", for_size, min_for_size); + + for_size = MAX (0, for_size - extra_opposite); + } if (minimum_baseline) *minimum_baseline = -1; -- cgit v1.2.1