Fabric: Fixing crash in RCTScrollViewComponentView (2nd attempt)

Summary:
Seems a ScrollView sometimes calls the delegate in own destructor; and seems that in some configurations the delegate is also already destroyed at this point. I am not sure if this a bug in UIKit or not, but seems the fix is easy, we just have to clear the ScrollView's delegate on the delegate's deallocation.
This issue is also looks similar:
https://stackoverflow.com/questions/18778691/crash-on-exc-breakpoint-scroll-view/19011871

Changelog: [iOS] [Fixed] - Fixed crash in RCTScrollViewComponentView

Reviewed By: sammy-SC

Differential Revision: D17924429

fbshipit-source-id: 5727bca9f028e28f76f60304c187ee39eb6e1856
This commit is contained in:
Valentin Shergin
2019-10-15 07:41:24 -07:00
committed by Facebook Github Bot
parent beae6d6fa0
commit e7ef9921d3
@@ -85,7 +85,8 @@ static void RCTSendPaperScrollEvent_DEPRECATED(UIScrollView *scrollView, NSInteg
- (void)dealloc
{
[_scrollViewDelegateSplitter removeDelegate:self];
// This is not strictly necessary but that prevents a crash caused by a bug in UIKit.
_scrollView.delegate = nil;
}
#pragma mark - RCTComponentViewProtocol