diff --git a/Source/ASDisplayNode+Layout.mm b/Source/ASDisplayNode+Layout.mm index bf85800ab..979db6ca3 100644 --- a/Source/ASDisplayNode+Layout.mm +++ b/Source/ASDisplayNode+Layout.mm @@ -395,8 +395,9 @@ - (void)_u_measureNodeWithBoundsIfNecessary:(CGRect)bounds nextLayout.requestedLayoutFromAbove = YES; { - ASDN::MutexUnlocker u(__instanceLock__); + __instanceLock__.unlock(); [self _u_setNeedsLayoutFromAbove]; + __instanceLock__.lock(); } // Update the layout's version here because _u_setNeedsLayoutFromAbove calls __setNeedsLayout which in turn increases _layoutVersion