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 <ebassi@linux.intel.com>
This commit is contained in:
Mike Ruprecht 2012-05-22 14:25:19 +01:00 committed by Emmanuele Bassi
parent 403e1c7e70
commit ee708d1cf8

View File

@ -580,8 +580,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,