A few more debug changes for the removal of the working window.

This commit is contained in:
Scott Goodson 2015-11-08 17:37:35 -08:00
parent 9669f147ba
commit 8bc65a9624
2 changed files with 7 additions and 6 deletions

View File

@ -586,6 +586,7 @@ static ASDisplayNodeMethodOverrides GetASDisplayNodeMethodOverrides(Class c)
- (ASLayout *)measureWithSizeRange:(ASSizeRange)constrainedSize - (ASLayout *)measureWithSizeRange:(ASSizeRange)constrainedSize
{ {
NSLog(@"About to measure lock for %@", self);
ASDN::MutexLocker l(_propertyLock); ASDN::MutexLocker l(_propertyLock);
return [self __measureWithSizeRange:constrainedSize]; return [self __measureWithSizeRange:constrainedSize];
} }
@ -666,6 +667,7 @@ static ASDisplayNodeMethodOverrides GetASDisplayNodeMethodOverrides(Class c)
- (BOOL)shouldRasterizeDescendants - (BOOL)shouldRasterizeDescendants
{ {
ASDisplayNodeAssertThreadAffinity(self); ASDisplayNodeAssertThreadAffinity(self);
NSLog(@"About to descendants lock for %p, %@", self, [self class]);
ASDN::MutexLocker l(_propertyLock); ASDN::MutexLocker l(_propertyLock);
return _flags.shouldRasterizeDescendants; return _flags.shouldRasterizeDescendants;
} }
@ -722,6 +724,7 @@ static ASDisplayNodeMethodOverrides GetASDisplayNodeMethodOverrides(Class c)
- (void)recursivelyDisplayImmediately - (void)recursivelyDisplayImmediately
{ {
ASDN::MutexLocker l(_propertyLock); ASDN::MutexLocker l(_propertyLock);
for (ASDisplayNode *child in _subnodes) { for (ASDisplayNode *child in _subnodes) {
[child recursivelyDisplayImmediately]; [child recursivelyDisplayImmediately];
} }
@ -730,12 +733,12 @@ static ASDisplayNodeMethodOverrides GetASDisplayNodeMethodOverrides(Class c)
- (void)__setNeedsDisplay - (void)__setNeedsDisplay
{ {
ASDN::MutexLocker l(_propertyLock);
NSLog(@"About to find parent rasterize for %@", self);
ASDisplayNode *rasterizedContainerNode = [self __rasterizedContainerNode]; ASDisplayNode *rasterizedContainerNode = [self __rasterizedContainerNode];
if (rasterizedContainerNode) { if (rasterizedContainerNode) {
[rasterizedContainerNode setNeedsDisplay]; [rasterizedContainerNode setNeedsDisplay];
} else { } else {
[_layer setNeedsDisplay];
if (_layer && !self.isSynchronous && self.displaysAsynchronously) { if (_layer && !self.isSynchronous && self.displaysAsynchronously) {
[ASDisplayNode scheduleNodeForDisplay:self]; [ASDisplayNode scheduleNodeForDisplay:self];
} }

View File

@ -219,10 +219,8 @@
- (void)setNeedsDisplay - (void)setNeedsDisplay
{ {
_bridge_prologue; _bridge_prologue;
// Send the message to the layer first, as __setNeedsDisplay may call -displayIfNeeded. // Send the message to the view/layer first, as __setNeedsDisplay may call -displayIfNeeded.
// REVIEW: Audit if this is necessary or if it can be called after like __setNeedsLayout _messageToViewOrLayer(setNeedsDisplay);
// -> Likely possible because of the aggregation / trampoline to occur on a later runloop.
_messageToLayer(setNeedsDisplay);
[self __setNeedsDisplay]; [self __setNeedsDisplay];
} }