Browse Source

tidy appmenu code

Dan Walmsley 6 years ago
parent
commit
2182b91023
1 changed files with 14 additions and 18 deletions
  1. 14 18
      src/Avalonia.Native/AvaloniaNativeMenuExporter.cs

+ 14 - 18
src/Avalonia.Native/AvaloniaNativeMenuExporter.cs

@@ -112,6 +112,7 @@ namespace Avalonia.Native
 
             if(_nativeWindow is null)
             {
+                _menu = NativeMenu.GetMenu(Application.Current);
                 SetMenu(_menu?.Items);
             }
             else
@@ -265,31 +266,26 @@ namespace Avalonia.Native
                 menuItems = new List<NativeMenuItemBase>();
             }
 
-            var menu = NativeMenu.GetMenu(Application.Current);
+            var appMenu = _factory.ObtainAppMenu();
 
-            if (menu != null)
+            if (appMenu is null)
             {
-                var appMenu = _factory.ObtainAppMenu ();
-
-                if (appMenu is null)
-                {
-                    appMenu = _factory.CreateMenu();
-                }
+                appMenu = _factory.CreateMenu();
+            }
 
-                var menuItem = new NativeMenuItem();
+            var menuItem = new NativeMenuItem();
 
-                menuItem.Menu = new NativeMenu();
+            menuItem.Menu = new NativeMenu();
 
-                foreach(var item in menuItems)
-                {
-                    menuItem.Menu.Add(item);
-                }
+            foreach (var item in menuItems)
+            {
+                menuItem.Menu.Add(item);
+            }
 
-                appMenu.Clear();
-                AddItemsToMenu(appMenu, new List<NativeMenuItemBase> { menuItem });
+            appMenu.Clear();
+            AddItemsToMenu(appMenu, new List<NativeMenuItemBase> { menuItem });
 
-                _factory.SetAppMenu(appMenu);
-            }
+            _factory.SetAppMenu(appMenu);
         }
 
         private void SetMenu(IAvnWindow avnWindow, ICollection<NativeMenuItemBase> menuItems)