Skip to content

Commit

Permalink
Fabric: Fixing crash in RCTScrollViewComponentView (2nd attempt)
Browse files Browse the repository at this point in the history
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
  • Loading branch information
shergin authored and facebook-github-bot committed Oct 15, 2019
1 parent beae6d6 commit e7ef992
Showing 1 changed file with 2 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,8 @@ - (instancetype)initWithFrame:(CGRect)frame

- (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
Expand Down

0 comments on commit e7ef992

Please sign in to comment.