From eb811210e25a2bcc7b9fa8b2ac8b113230e014e9 Mon Sep 17 00:00:00 2001 From: Mike Ruprecht Date: Tue, 22 May 2012 14:25:19 +0100 Subject: flow-layout: Check for all positive values When creating a FlowLayout container, setting a specific size on it, and adding a child to it, as per the attached testcase, it crashes. The line on the backtrace doesn't really make sense, but from looking over it, it appears that it's probably because priv->line_natural is NULL. The attached patch makes it so in this case, priv->line_natural is allocated. https://bugzilla.gnome.org/show_bug.cgi?id=676068 Signed-off-by: Emmanuele Bassi --- clutter/clutter-flow-layout.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/clutter/clutter-flow-layout.c b/clutter/clutter-flow-layout.c index 38f0fe669..cf951c77b 100644 --- a/clutter/clutter-flow-layout.c +++ b/clutter/clutter-flow-layout.c @@ -572,8 +572,8 @@ clutter_flow_layout_allocate (ClutterLayoutManager *manager, * available size in case the FlowLayout wasn't given the exact * size it requested */ - if ((priv->req_width > 0 && avail_width != priv->req_width) || - (priv->req_height > 0 && avail_height != priv->req_height)) + if ((priv->req_width >= 0 && avail_width != priv->req_width) || + (priv->req_height >= 0 && avail_height != priv->req_height)) { clutter_flow_layout_get_preferred_width (manager, container, avail_height, -- cgit v1.2.1