From 959f2d30e2c23f163edca6ca9e99ebbb4170fde5 Mon Sep 17 00:00:00 2001 From: pekspro Date: Sun, 18 Jul 2021 10:01:52 +0200 Subject: [PATCH] Fixes race condition issue with OnProviderStateChanged event. --- CommunityToolkit.Authentication/ProviderManager.cs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/CommunityToolkit.Authentication/ProviderManager.cs b/CommunityToolkit.Authentication/ProviderManager.cs index b4f82ef..185e0cd 100644 --- a/CommunityToolkit.Authentication/ProviderManager.cs +++ b/CommunityToolkit.Authentication/ProviderManager.cs @@ -54,7 +54,7 @@ public IProvider GlobalProvider var oldState = _provider?.State; if (_provider != null) { - _provider.StateChanged -= ProviderStateChanged; + _provider.StateChanged -= OnProviderStateChanged; } _provider = value; @@ -62,7 +62,7 @@ public IProvider GlobalProvider var newState = _provider?.State; if (_provider != null) { - _provider.StateChanged += ProviderStateChanged; + _provider.StateChanged += OnProviderStateChanged; } ProviderUpdated?.Invoke(this, _provider); @@ -70,6 +70,11 @@ public IProvider GlobalProvider } } + private void OnProviderStateChanged(object sender, ProviderStateChangedEventArgs e) + { + ProviderStateChanged?.Invoke(this, e); + } + private ProviderManager() { // Use Instance