Browse Source

Revert "use a copy of lists as we will be removing from the list inside the loop."

This reverts commit 38f8dc73b3.
pull/3762/head
Dan Walmsley 6 years ago
parent
commit
cd0ebbdd50
  1. 10
      src/Avalonia.Native/IAvnAppMenu.cs

10
src/Avalonia.Native/IAvnAppMenu.cs

@ -71,13 +71,11 @@ namespace Avalonia.Native.Interop
} }
} }
var menuItems = _menuItems.ToList();
for (int i = 0; i < menu.Items.Count; i++) for (int i = 0; i < menu.Items.Count; i++)
{ {
IAvnAppMenuItem nativeItem = null; IAvnAppMenuItem nativeItem = null;
if (i >= menuItems.Count || menu.Items[i] != menuItems[i].ManagedMenuItem) if (i >= _menuItems.Count || menu.Items[i] != _menuItems[i].ManagedMenuItem)
{ {
if (_menuItemLookup.TryGetValue(menu.Items[i], out nativeItem)) if (_menuItemLookup.TryGetValue(menu.Items[i], out nativeItem))
{ {
@ -90,7 +88,7 @@ namespace Avalonia.Native.Interop
} }
else else
{ {
nativeItem = menuItems[i]; nativeItem = _menuItems[i];
Remove(nativeItem); Remove(nativeItem);
} }
@ -102,9 +100,9 @@ namespace Avalonia.Native.Interop
InsertAt(i, nativeItem); InsertAt(i, nativeItem);
} }
for (int i = menu.Items.Count; i < menuItems.Count; i++) for (int i = menu.Items.Count; i < _menuItems.Count; i++)
{ {
Remove(menuItems[i]); Remove(_menuItems[i]);
} }
return disposables; return disposables;

Loading…
Cancel
Save