From 993316bdfd4fba604273973e0a90e17c799256a8 Mon Sep 17 00:00:00 2001 From: RogueException Date: Sat, 9 Jan 2016 20:00:48 -0400 Subject: [PATCH] Fixed crash on disconnect if multiserver is enabled --- src/Discord.Net.Audio/AudioService.cs | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/Discord.Net.Audio/AudioService.cs b/src/Discord.Net.Audio/AudioService.cs index a2cf14c6b..ec134f884 100644 --- a/src/Discord.Net.Audio/AudioService.cs +++ b/src/Discord.Net.Audio/AudioService.cs @@ -47,10 +47,17 @@ namespace Discord.Audio client.Disconnected += async (s, e) => { - if (Config.EnableMultiserver) - { - var tasks = _voiceClients - .Select(x => x.Value.Disconnect()) + if (Config.EnableMultiserver) + { + var tasks = _voiceClients + .Select(x => + { + var val = x.Value; + if (val != null) + return x.Value.Disconnect(); + else + return TaskHelper.CompletedTask; + }) .ToArray(); await Task.WhenAll(tasks).ConfigureAwait(false); _voiceClients.Clear();