You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When dynamically registering (outside of ctors) / subscribing to Alt.OnKeyDown event, crashes the client.
The ShowMenu function is invoked as an Action, meaning Action?.Invoke -> Alt.OnKeyDown -> crash.
private void ShowMenu()
{
if (IsActive) return;
// Register an alt keydown press since keycontroller will be disabled
Alt.OnKeyDown += CloseMenuOnEscape;
....
}
/// <summary>
/// Closes the menu if Escape key is pressed
/// </summary>
private void CloseMenuOnEscape(Key key)
{
if (key != Key.Escape) return;
HideMenu();
}
private void HideMenu()
{
if (!IsActive) return;
Alt.OnKeyDown -= CloseMenuOnEscape;
...
}
The following Error is logged / produced:
[10:56:12][Error] FATAL EXCEPTION:
[10:56:12][Error] System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
at System.Collections.Generic.HashSet`1.Enumerator.MoveNext()
at AltV.Net.Client.Extensions.EnumerableExtensions.ForEachCatching[T](IEnumerable`1 enumerable, Action`1 action, String exceptionLocation)
Exception at event OnKeyDown: System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
at Client.Services.Input.Controllers.KeyController.OnKeyDown(Key key) in E:\MintV\gameserver\Client\Services\Allowance\Controllers\AvailabilityController.cs:line 66
at AltV.Net.Client.Extensions.EnumerableExtensions.ForEachCatching[T](IEnumerable`1 enumerable, Action`1 action, String exceptionLocation)
The only other OnKeyDown registration happens in a constructor, which doesn't crash the client:
public KeyController()
{
Alt.OnKeyDown += OnKeyDown;
Alt.OnKeyUp += OnKeyUp;
}
Environment
Client AsyncResource
.NET 6
C# Lang vers. 12
The text was updated successfully, but these errors were encountered:
Description of the problem
When dynamically registering (outside of ctors) / subscribing to
Alt.OnKeyDown
event, crashes the client.The
ShowMenu
function is invoked as anAction
, meaningAction?.Invoke
->Alt.OnKeyDown
-> crash.The following Error is logged / produced:
The only other
OnKeyDown
registration happens in a constructor, which doesn't crash the client:Environment
The text was updated successfully, but these errors were encountered: