mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-09-10 06:27:15 +00:00
[ASInterfaceState] Fix for an edge case of exiting Visible state before node deallocation.
This commit is contained in:
parent
97798010cb
commit
3e2414da6f
@ -90,6 +90,11 @@
|
|||||||
self.keepalive_node = _node;
|
self.keepalive_node = _node;
|
||||||
}
|
}
|
||||||
else if (currentSuperview && !newSuperview) {
|
else if (currentSuperview && !newSuperview) {
|
||||||
|
// Clearing keepalive_node may cause deallocation of the node. In this case, __exitHierarchy may not have an opportunity (e.g. _node will be cleared
|
||||||
|
// by the time -didMoveToWindow occurs after this) to clear the Visible interfaceState, which we need to do before deallocation to meet an API guarantee.
|
||||||
|
if (_node.inHierarchy) {
|
||||||
|
[_node __exitHierarchy];
|
||||||
|
}
|
||||||
self.keepalive_node = nil;
|
self.keepalive_node = nil;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user