diff --git a/BizHawk.Emulation.Common/Base Implementations/MemoryCallbackSystem.cs b/BizHawk.Emulation.Common/Base Implementations/MemoryCallbackSystem.cs index ad328f28ce..4978360a6c 100644 --- a/BizHawk.Emulation.Common/Base Implementations/MemoryCallbackSystem.cs +++ b/BizHawk.Emulation.Common/Base Implementations/MemoryCallbackSystem.cs @@ -68,11 +68,13 @@ namespace BizHawk.Emulation.Common private static void Call(ObservableCollection cbs, uint addr, uint value, uint flags, string scope) { - foreach (var cb in cbs) + // ReSharper disable once ForCanBeConvertedToForeach + // Intentionally a for loop - https://github.com/TASVideos/BizHawk/issues/1823 + for (int i = 0; i < cbs.Count; i++) { - if (!cb.Address.HasValue || (cb.Scope == scope && cb.Address == (addr & cb.AddressMask))) + if (!cbs[i].Address.HasValue || (cbs[i].Scope == scope && cbs[i].Address == (addr & cbs[i].AddressMask))) { - cb.Callback(addr, value, flags); + cbs[i].Callback(addr, value, flags); } } }