                         actualParent.setHeight(host.height - padding.paddingTop - pb);
                     }
                 }
-                layout.layout();
+                sizeChangedByLayout = layout.layout();
                 if (actualParent != host)
                 {
                     // actualParent.width should be the new width after layout.

                host.addEventListener("widthChanged", changeHandler);
                host.addEventListener("heightChanged", changeHandler);
                host.addEventListener("sizeChanged", sizeChangeHandler);
                // if we have fixed size in both dimensions, wait for children
                // to be added then run a layout pass right then as the
                // parent won't kick off any other event in the child
                if (!isNaN(host.explicitWidth) && !isNaN(host.explicitHeight))
                    host.addEventListener("childrenAdded", changeHandler);
            }            
            checkActualParent();
        }

            
            var host:UIBase = value as UIBase;
            
            if (host.isWidthSizedToContent() || host.isHeightSizedToContent())
            {
                // if both dimensions are sized to content, then only draw the
                // borders, etc, after a child is added.  The children in an MXML
