From 5a677915baf77239636526712ce0005f80ea09e1 Mon Sep 17 00:00:00 2001 From: Huy Nguyen Date: Fri, 15 Apr 2016 22:08:48 +0300 Subject: [PATCH] ASDisplayNode should bail early if a scheduled transition was invalidated before its block executes - Idea borrowed from _enqueueAsyncSizingWithSentinel --- AsyncDisplayKit/ASDisplayNode.mm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/AsyncDisplayKit/ASDisplayNode.mm b/AsyncDisplayKit/ASDisplayNode.mm index d5f37c5e..0c8b189a 100644 --- a/AsyncDisplayKit/ASDisplayNode.mm +++ b/AsyncDisplayKit/ASDisplayNode.mm @@ -681,6 +681,10 @@ static ASDisplayNodeMethodOverrides GetASDisplayNodeMethodOverrides(Class c) }); void (^transitionBlock)() = ^{ + if ([self _shouldAbortTransitionWithID:transitionID]) { + return; + } + ASLayout *newLayout; { ASLayoutableSetCurrentContext(ASLayoutableContextMake(transitionID, NO));