From 25096117e77b6a6682e49ada886ce1114c6a2fe9 Mon Sep 17 00:00:00 2001 From: Levi McCallum Date: Wed, 6 Apr 2016 16:55:12 -0700 Subject: [PATCH] Prevent ASInsetLayoutSpec from creating a computed layout when child is nil Reviewers: scottg, schneider, ricky, garrett Reviewed By: garrett Subscribers: garrett, jenkins Differential Revision: https://phabricator.pinadmin.com/D83683 JIRA Issue(s): BRIO-4729 --- AsyncDisplayKit/Layout/ASInsetLayoutSpec.mm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/AsyncDisplayKit/Layout/ASInsetLayoutSpec.mm b/AsyncDisplayKit/Layout/ASInsetLayoutSpec.mm index 960360f8c4..ce7e6b4ea9 100644 --- a/AsyncDisplayKit/Layout/ASInsetLayoutSpec.mm +++ b/AsyncDisplayKit/Layout/ASInsetLayoutSpec.mm @@ -88,6 +88,12 @@ static CGFloat centerInset(CGFloat outer, CGFloat inner) MAX(0, constrainedSize.max.height - insetsY), } }; + + if (self.child == nil) { + ASDisplayNodeAssert(NO, @"Inset spec measured without a child. The spec will do nothing."); + return [ASLayout layoutWithLayoutableObject:self size:CGSizeZero]; + } + ASLayout *sublayout = [self.child measureWithSizeRange:insetConstrainedSize]; const CGSize computedSize = ASSizeRangeClamp(constrainedSize, {