diff --git a/src/Avalonia.Native/IAvnAppMenu.cs b/src/Avalonia.Native/IAvnAppMenu.cs index ad69428fd8..c44100ae2a 100644 --- a/src/Avalonia.Native/IAvnAppMenu.cs +++ b/src/Avalonia.Native/IAvnAppMenu.cs @@ -21,18 +21,6 @@ namespace Avalonia.Native.Interop RemoveItem(item); } - internal void Cleanup() - { - foreach(var item in _menuItems) - { - item.Cleanup(); - } - - ((INotifyCollectionChanged)_menu.Items).CollectionChanged -= IAvnAppMenu_CollectionChanged; - _exporter = null; - _menu = null; - } - private void InsertAt(int index, IAvnAppMenuItem item) { if (item.Managed == null) @@ -61,8 +49,7 @@ namespace Avalonia.Native.Interop _menu = menu; } else if (_menu != menu) - { - Cleanup(); + { _menu = menu; } @@ -110,8 +97,6 @@ namespace Avalonia.Native.Interop for (int i = menu.Items.Count; i < _menuItems.Count; i++) { Remove(_menuItems[i]); - - _menuItems[i].Cleanup(); } } diff --git a/src/Avalonia.Native/IAvnAppMenuItem.cs b/src/Avalonia.Native/IAvnAppMenuItem.cs index 4d4d254d8d..c35a796b59 100644 --- a/src/Avalonia.Native/IAvnAppMenuItem.cs +++ b/src/Avalonia.Native/IAvnAppMenuItem.cs @@ -57,8 +57,6 @@ namespace Avalonia.Native.Interop if (item.Menu == null && _subMenu != null) { - _subMenu.Cleanup(); - // todo remove submenu. // needs implementing on native side also. @@ -69,19 +67,5 @@ namespace Avalonia.Native.Interop { _exporter.QueueReset(); } - - internal void Cleanup() - { - Managed.PropertyChanged -= Item_PropertyChanged; - - if (_subMenu != null) - { - _subMenu.Cleanup(); - } - - _subMenu = null; - _exporter = null; - Managed = null; - } } }