From c7f9a9e49bce7d1b656cabdc443f1f3fe41a18cd Mon Sep 17 00:00:00 2001 From: Samuel Susla Date: Wed, 26 Feb 2020 04:44:52 -0800 Subject: [PATCH] UIManager.findNodeAtPoint now returns shadowNode instead of instanceHandle Summary: Changelog: [Internal] As agreed in https://fb.quip.com/Oh2mAaTAbBj6, `findNodeAtPoint` now calls callback with `shadowNode` instead of `instanceHandle`. Reviewed By: shergin Differential Revision: D20097269 fbshipit-source-id: bd2a1bcd26ab2510f16c3e73f628be4b1f7dacfc --- ReactCommon/fabric/core/events/EventEmitter.h | 2 -- ReactCommon/fabric/uimanager/UIManagerBinding.cpp | 11 ++--------- 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/ReactCommon/fabric/core/events/EventEmitter.h b/ReactCommon/fabric/core/events/EventEmitter.h index 91db82ed3a6..db11b43007a 100644 --- a/ReactCommon/fabric/core/events/EventEmitter.h +++ b/ReactCommon/fabric/core/events/EventEmitter.h @@ -81,8 +81,6 @@ class EventEmitter { private: void toggleEventTargetOwnership_() const; - friend class UIManagerBinding; - mutable SharedEventTarget eventTarget_; EventDispatcher::Weak eventDispatcher_; diff --git a/ReactCommon/fabric/uimanager/UIManagerBinding.cpp b/ReactCommon/fabric/uimanager/UIManagerBinding.cpp index c300bcc828b..c57af017cd6 100644 --- a/ReactCommon/fabric/uimanager/UIManagerBinding.cpp +++ b/ReactCommon/fabric/uimanager/UIManagerBinding.cpp @@ -268,15 +268,8 @@ jsi::Value UIManagerBinding::get( arguments[3].getObject(runtime).getFunction(runtime); auto targetNode = uiManager->findNodeAtPoint(node, Point{locationX, locationY}); - auto &eventTarget = targetNode->getEventEmitter()->eventTarget_; - - EventEmitter::DispatchMutex().lock(); - eventTarget->retain(runtime); - auto instanceHandle = eventTarget->getInstanceHandle(runtime); - eventTarget->release(runtime); - EventEmitter::DispatchMutex().unlock(); - - onSuccessFunction.call(runtime, std::move(instanceHandle)); + + onSuccessFunction.call(runtime, valueFromShadowNode(runtime, targetNode)); return jsi::Value::undefined(); }); }