diff --git a/AsyncDisplayKit/ASDisplayNode.mm b/AsyncDisplayKit/ASDisplayNode.mm index e14f256b5a..32b4eee832 100644 --- a/AsyncDisplayKit/ASDisplayNode.mm +++ b/AsyncDisplayKit/ASDisplayNode.mm @@ -1387,7 +1387,10 @@ static NSInteger incrementIfFound(NSInteger i) { - (void)setPreferredFrameSize:(CGSize)preferredFrameSize { ASDN::MutexLocker l(_propertyLock); - _preferredFrameSize = preferredFrameSize; + if (! CGSizeEqualToSize(_preferredFrameSize, preferredFrameSize)) { + _preferredFrameSize = preferredFrameSize; + [self invalidateCalculatedLayout]; + } } - (CGSize)preferredFrameSize