diff --git a/Source/ASDisplayNode.mm b/Source/ASDisplayNode.mm index 5e14b638..404a81cf 100644 --- a/Source/ASDisplayNode.mm +++ b/Source/ASDisplayNode.mm @@ -3934,11 +3934,13 @@ ASDISPLAYNODE_INLINE BOOL subtreeIsRasterized(ASDisplayNode *node) { [result addObject:@{ @"alpha" : @(_pendingViewState.alpha) }]; [result addObject:@{ @"frame" : [NSValue valueWithCGRect:_pendingViewState.frame] }]; } - - // Check supernode so that if we are cell node we don't find self. - ASCellNode *cellNode = ASDisplayNodeFindFirstSupernodeOfClass(self.supernode, [ASCellNode class]); - if (cellNode != nil) { - [result addObject:@{ @"cellNode" : ASObjectDescriptionMakeTiny(cellNode) }]; + + if (ASDisplayNodeThreadIsMain()) { + // Check supernode so that if we are cell node we don't find self. + ASCellNode *cellNode = ASDisplayNodeFindFirstSupernodeOfClass(self.supernode, [ASCellNode class]); + if (cellNode != nil) { + [result addObject:@{ @"cellNode" : ASObjectDescriptionMakeTiny(cellNode) }]; + } } [result addObject:@{ @"interfaceState" : NSStringFromASInterfaceState(self.interfaceState)} ];