diff options
author | Matthias Clasen <mclasen@redhat.com> | 2016-03-04 13:43:19 -0500 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2016-03-04 13:43:19 -0500 |
commit | 51b83c43898d8ca534b0ee213a8a0f396d976a0a (patch) | |
tree | 0757abd18eee9b9656b0eb54bd9a6713b538ab0e /gtk/gtkcssgadget.c | |
parent | 54858574a3f925b817c7fe4b409326774852ad9c (diff) | |
download | gtk+-51b83c43898d8ca534b0ee213a8a0f396d976a0a.tar.gz |
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.
Diffstat (limited to 'gtk/gtkcssgadget.c')
-rw-r--r-- | gtk/gtkcssgadget.c | 10 |
1 files changed, 9 insertions, 1 deletions
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; |