From e34113064b1ebd1859b16f8f79f0f6e0da4b7ad2 Mon Sep 17 00:00:00 2001 From: jpbruyere Date: Wed, 17 Feb 2016 01:18:24 +0100 Subject: [PATCH] force first child of group in Fit to Fit if no other child could be sized --- src/GraphicObjects/Group.cs | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/GraphicObjects/Group.cs b/src/GraphicObjects/Group.cs index 2a960029..6e2417a9 100644 --- a/src/GraphicObjects/Group.cs +++ b/src/GraphicObjects/Group.cs @@ -127,17 +127,26 @@ namespace Crow } protected override int measureRawSize (LayoutingType lt) { + if (Children.Count == 0) + return base.measureRawSize (lt); + if (lt == LayoutingType.Width) { if (largestChild == null) searchLargestChild (); - if (largestChild == null)//if still null, not possible to determine a width - return -1; + if (largestChild == null){ + //if still null, not possible to determine a width + //because all children are stretched, force first one to fit + Children[0].Width = -1; + return -1;//cancel actual sizing to let child computation take place + } return maxChildrenWidth + 2 * Margin; }else{ if (tallestChild == null) searchTallestChild (); - if (tallestChild == null) + if (tallestChild == null) { + Children[0].Height = -1; return -1; + } return maxChildrenHeight + 2 * Margin; } } -- 2.47.3