diff --git a/React/Base/RCTConstants.h b/React/Base/RCTConstants.h index 30bb6eedef5..cf6e4ebf5d4 100644 --- a/React/Base/RCTConstants.h +++ b/React/Base/RCTConstants.h @@ -23,10 +23,10 @@ RCT_EXTERN BOOL RCTGetDispatchW3CPointerEvents(void); RCT_EXTERN void RCTSetDispatchW3CPointerEvents(BOOL value); /* - * Memory Pressure Unloading + * Validate RCTEventEmitter */ -RCT_EXTERN BOOL RCTGetDisableBridgeMemoryPressureUnload(void); -RCT_EXTERN void RCTSetDisableBridgeMemoryPressureUnload(BOOL value); +RCT_EXTERN BOOL RCTGetValidateCanSendEventInRCTEventEmitter(void); +RCT_EXTERN void RCTSetValidateCanSendEventInRCTEventEmitter(BOOL value); /* * Memory Pressure Unloading Level diff --git a/React/Base/RCTConstants.m b/React/Base/RCTConstants.m index 707818cea0c..b417b195ec8 100644 --- a/React/Base/RCTConstants.m +++ b/React/Base/RCTConstants.m @@ -41,18 +41,18 @@ void RCTSetDispatchW3CPointerEvents(BOOL value) } /* - * Memory Pressure Unloading + * Validate RCTEventEmitter. For experimentation only. */ -static BOOL RCTDisableBridgeMemoryPressureUnload = NO; +static BOOL RCTValidateCanSendEventInRCTEventEmitter = NO; -BOOL RCTGetDisableBridgeMemoryPressureUnload() +BOOL RCTGetValidateCanSendEventInRCTEventEmitter() { - return RCTDisableBridgeMemoryPressureUnload; + return RCTValidateCanSendEventInRCTEventEmitter; } -void RCTSetDisableBridgeMemoryPressureUnload(BOOL value) +void RCTSetValidateCanSendEventInRCTEventEmitter(BOOL value) { - RCTDisableBridgeMemoryPressureUnload = value; + RCTValidateCanSendEventInRCTEventEmitter = value; } /* diff --git a/React/Modules/RCTEventEmitter.m b/React/Modules/RCTEventEmitter.m index 8e7528db4dd..568c773e9bb 100644 --- a/React/Modules/RCTEventEmitter.m +++ b/React/Modules/RCTEventEmitter.m @@ -6,6 +6,7 @@ */ #import "RCTEventEmitter.h" +#import #import "RCTAssert.h" #import "RCTLog.h" #import "RCTUtils.h" @@ -83,7 +84,11 @@ */ - (BOOL)canSendEvents_DEPRECATED { - return _callableJSModules != nil; + bool canSendEvents = _callableJSModules != nil; + if (!canSendEvents && RCTGetValidateCanSendEventInRCTEventEmitter()) { + RCTLogError(@"Trying to send event when _callableJSModules is nil."); + } + return canSendEvents; } - (void)startObserving