From f592ad05096542e0d010c1972b7fe1f76687e78e Mon Sep 17 00:00:00 2001 From: Samuel Susla Date: Wed, 28 Jul 2021 14:43:48 -0700 Subject: [PATCH] Attempt to fix undefined instance handle in EventTarget Summary: changelog: [internal] Completion block can retain `_eventEmitter` beyond existence of the component. To fix this, do not retain `_eventEmitter` by block but try to acquire it inside it. Reviewed By: JoshuaGross Differential Revision: D29969189 fbshipit-source-id: 456c42f816acc160f9d6bbd3f9c8c55d611940b2 --- .../ComponentViews/Modal/RCTModalHostViewComponentView.mm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm b/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm index 5072d47f6b9..16ae9beeec2 100644 --- a/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +++ b/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm @@ -171,12 +171,11 @@ static ModalHostViewEventEmitter::OnOrientationChange onOrientationChangeStruct( UIView *snapshot = _modalContentsSnapshot; [self.viewController.view addSubview:snapshot]; - auto eventEmitter = [self modalEventEmitter]; [self dismissViewController:self.viewController animated:_shouldAnimatePresentation completion:^{ [snapshot removeFromSuperview]; - + auto eventEmitter = [self modalEventEmitter]; if (eventEmitter) { eventEmitter->onDismiss(ModalHostViewEventEmitter::OnDismiss{}); }