From 03b512eff36bc4d53dddef6f8ff8407e64352fb4 Mon Sep 17 00:00:00 2001 From: Tom Underhill Date: Wed, 3 Apr 2019 15:09:47 -0700 Subject: [PATCH 1/2] Prevent race where devSettings property is called before bridge is done initializing and can cause a second bridge to be created. --- React/Modules/RCTDevSettings.mm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/React/Modules/RCTDevSettings.mm b/React/Modules/RCTDevSettings.mm index 045f73f7f1fd68..3b1c1988fd33bc 100644 --- a/React/Modules/RCTDevSettings.mm +++ b/React/Modules/RCTDevSettings.mm @@ -508,7 +508,12 @@ @implementation RCTBridge (RCTDevSettings) - (RCTDevSettings *)devSettings { #if RCT_DEV - return [self moduleForClass:[RCTDevSettings class]]; + RCTDevSettings *devSettings = nil; // [TODO(OSS Candidate ISS#2710739) + Class klass = [RCTDevSettings class]; + if ([self moduleIsInitialized:klass]) { + devSettings = [self moduleForClass:klass]; + } + return devSettings; // ]TODO(OSS Candidate ISS#2710739) #else return nil; #endif From a863824c4c265d75ed1d3ac23c8339a90a2cdf8c Mon Sep 17 00:00:00 2001 From: Tom Underhill Date: Wed, 3 Apr 2019 15:47:18 -0700 Subject: [PATCH 2/2] Changed klass to devSettingsClass --- React/Modules/RCTDevSettings.mm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/React/Modules/RCTDevSettings.mm b/React/Modules/RCTDevSettings.mm index 3b1c1988fd33bc..f1f1f0684af612 100644 --- a/React/Modules/RCTDevSettings.mm +++ b/React/Modules/RCTDevSettings.mm @@ -509,9 +509,9 @@ - (RCTDevSettings *)devSettings { #if RCT_DEV RCTDevSettings *devSettings = nil; // [TODO(OSS Candidate ISS#2710739) - Class klass = [RCTDevSettings class]; - if ([self moduleIsInitialized:klass]) { - devSettings = [self moduleForClass:klass]; + Class devSettingsClass = [RCTDevSettings class]; + if ([self moduleIsInitialized:devSettingsClass]) { + devSettings = [self moduleForClass:devSettingsClass]; } return devSettings; // ]TODO(OSS Candidate ISS#2710739) #else