Properly remove event handler

This commit is contained in:
Bond_009 2019-11-02 10:31:14 +01:00
parent 558baeac48
commit 210af0e73e

View file

@ -65,23 +65,20 @@ namespace Emby.Server.Implementations.EntryPoints
.ToString(); .ToString();
} }
private async void OnConfigurationUpdated(object sender, EventArgs e) private void OnConfigurationUpdated(object sender, EventArgs e)
{ {
if (!string.Equals(_lastConfigIdentifier, GetConfigIdentifier(), StringComparison.OrdinalIgnoreCase)) if (!string.Equals(_lastConfigIdentifier, GetConfigIdentifier(), StringComparison.OrdinalIgnoreCase))
{ {
Stop(); Stop();
await RunAsync().ConfigureAwait(false); Start();
} }
} }
/// <inheritdoc /> /// <inheritdoc />
public Task RunAsync() public Task RunAsync()
{ {
if (_config.Configuration.EnableUPnP && _config.Configuration.EnableRemoteAccess) Start();
{
Start();
}
_config.ConfigurationUpdated += OnConfigurationUpdated; _config.ConfigurationUpdated += OnConfigurationUpdated;
@ -90,6 +87,11 @@ namespace Emby.Server.Implementations.EntryPoints
private void Start() private void Start()
{ {
if (!_config.Configuration.EnableUPnP || !_config.Configuration.EnableRemoteAccess)
{
return;
}
_logger.LogDebug("Starting NAT discovery"); _logger.LogDebug("Starting NAT discovery");
NatUtility.DeviceFound += OnNatUtilityDeviceFound; NatUtility.DeviceFound += OnNatUtilityDeviceFound;
@ -214,6 +216,8 @@ namespace Emby.Server.Implementations.EntryPoints
return; return;
} }
_config.ConfigurationUpdated -= OnConfigurationUpdated;
Stop(); Stop();
_timer = null; _timer = null;