|
@@ -549,10 +549,13 @@ namespace Discord.WebSocket |
|
|
|
|
|
|
|
|
await Discord.ApiClient.SendVoiceStateUpdateAsync(Id, channelId, selfDeaf, selfMute).ConfigureAwait(false); |
|
|
await Discord.ApiClient.SendVoiceStateUpdateAsync(Id, channelId, selfDeaf, selfMute).ConfigureAwait(false); |
|
|
} |
|
|
} |
|
|
catch (Exception) |
|
|
|
|
|
|
|
|
catch (Exception e) |
|
|
{ |
|
|
{ |
|
|
await DisconnectAudioInternalAsync().ConfigureAwait(false); |
|
|
await DisconnectAudioInternalAsync().ConfigureAwait(false); |
|
|
throw; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Since we're throwing an exception, we must release the audiolock to prevent future lockups/hanging. |
|
|
|
|
|
_audioLock.Release(); |
|
|
|
|
|
throw e; |
|
|
} |
|
|
} |
|
|
finally |
|
|
finally |
|
|
{ |
|
|
{ |
|
@@ -566,10 +569,10 @@ namespace Discord.WebSocket |
|
|
throw new TimeoutException(); |
|
|
throw new TimeoutException(); |
|
|
return await promise.Task.ConfigureAwait(false); |
|
|
return await promise.Task.ConfigureAwait(false); |
|
|
} |
|
|
} |
|
|
catch (Exception) |
|
|
|
|
|
|
|
|
catch (Exception e) |
|
|
{ |
|
|
{ |
|
|
await DisconnectAudioAsync().ConfigureAwait(false); |
|
|
await DisconnectAudioAsync().ConfigureAwait(false); |
|
|
throw; |
|
|
|
|
|
|
|
|
throw e; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|