From 23bd574830fb01bb4c34b248cdf89bac469293a4 Mon Sep 17 00:00:00 2001 From: RogueException Date: Tue, 21 Jun 2016 01:16:54 -0300 Subject: [PATCH] Fixed WaitForGuildsAsync --- src/Discord.Net/DiscordSocketClient.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/Discord.Net/DiscordSocketClient.cs b/src/Discord.Net/DiscordSocketClient.cs index 6d26614ee..cfee05de7 100644 --- a/src/Discord.Net/DiscordSocketClient.cs +++ b/src/Discord.Net/DiscordSocketClient.cs @@ -552,6 +552,10 @@ namespace Discord await _gatewayLogger.WarningAsync($"{type} referenced an unknown guild.").ConfigureAwait(false); return; } + + var unavailableGuilds = _unavailableGuilds; + if (unavailableGuilds != 0) + _unavailableGuilds = unavailableGuilds - 1; } if (data.Unavailable != true) @@ -600,6 +604,8 @@ namespace Discord await LeftGuild.RaiseAsync(guild).ConfigureAwait(false); await _gatewayLogger.InfoAsync($"Left {data.Name}").ConfigureAwait(false); } + else + _unavailableGuilds++; } else @@ -1148,7 +1154,7 @@ namespace Discord private async Task WaitForGuildsAsync(CancellationToken cancelToken) { - while ((_unavailableGuilds > 0) || (Environment.TickCount - _lastGuildAvailableTime > 2000)) + while ((_unavailableGuilds != 0) && (Environment.TickCount - _lastGuildAvailableTime < 2000)) await Task.Delay(500, cancelToken).ConfigureAwait(false); } public async Task WaitForGuildsAsync()