From 1b402ba0c29da7e9d2a306f5a1ffbdab63d75ff3 Mon Sep 17 00:00:00 2001 From: akwizgran Date: Wed, 29 Jan 2020 15:21:00 +0000 Subject: [PATCH] Close small gap between setStarted() and setDisabledBySettings(). --- .../org/briarproject/bramble/plugin/tor/TorPlugin.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/bramble-core/src/main/java/org/briarproject/bramble/plugin/tor/TorPlugin.java b/bramble-core/src/main/java/org/briarproject/bramble/plugin/tor/TorPlugin.java index 86fcc6a8c..e2292d063 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/plugin/tor/TorPlugin.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/plugin/tor/TorPlugin.java @@ -836,7 +836,6 @@ abstract class TorPlugin implements DuplexPlugin, EventHandler, EventListener { } } - state.setDisabledBySettings(disabledBySettings, reasonDisabled); try { @@ -866,6 +865,7 @@ abstract class TorPlugin implements DuplexPlugin, EventHandler, EventListener { networkEnabled = false, bootstrapped = false, circuitBuilt = false, + settingsChecked = false, disabledBySettings = false; @GuardedBy("this") @@ -914,6 +914,7 @@ abstract class TorPlugin implements DuplexPlugin, EventHandler, EventListener { synchronized void setDisabledBySettings(boolean disabledBySettings, int reasonDisabled) { + settingsChecked = true; this.disabledBySettings = disabledBySettings; this.reasonDisabled = reasonDisabled; callback.pluginStateChanged(getState()); @@ -932,7 +933,9 @@ abstract class TorPlugin implements DuplexPlugin, EventHandler, EventListener { } synchronized State getState() { - if (!started || stopped || disabledBySettings) return DISABLED; + if (!started || stopped || !settingsChecked || disabledBySettings) { + return DISABLED; + } if (!networkInitialised) return ENABLING; if (!networkEnabled) return INACTIVE; return bootstrapped && circuitBuilt ? ACTIVE : ENABLING;