Skip to content

Commit b043688

Browse files
add workaround for #412 - update to socket.io 2.3.0
1 parent 3b3e38f commit b043688

File tree

5 files changed

+47
-19
lines changed

5 files changed

+47
-19
lines changed

ElectronNET.API/Extensions/MenuItemExtensions.cs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,5 +48,24 @@ public static MenuItem GetMenuItem(this List<MenuItem> menuItems, string id)
4848

4949
return result;
5050
}
51+
52+
public static MenuItem[] AddSubmenuTypes(this MenuItem[] menuItems)
53+
{
54+
for (int index = 0; index < menuItems.Length; index++)
55+
{
56+
var menuItem = menuItems[index];
57+
if (menuItem?.Submenu?.Length > 0)
58+
{
59+
if(menuItem.Type == MenuType.normal)
60+
{
61+
menuItem.Type = MenuType.submenu;
62+
}
63+
64+
AddSubmenuTypes(menuItem.Submenu);
65+
}
66+
}
67+
68+
return menuItems;
69+
}
5170
}
5271
}

ElectronNET.API/Menu.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@ public void SetApplicationMenu(MenuItem[] menuItems)
5656
_menuItems.Clear();
5757

5858
menuItems.AddMenuItemsId();
59+
menuItems.AddSubmenuTypes();
60+
5961
BridgeConnector.Socket.Emit("menu-setApplicationMenu", JArray.FromObject(menuItems, _jsonSerializer));
6062
_menuItems.AddRange(menuItems);
6163

@@ -83,6 +85,8 @@ public void SetApplicationMenu(MenuItem[] menuItems)
8385
public void SetContextMenu(BrowserWindow browserWindow, MenuItem[] menuItems)
8486
{
8587
menuItems.AddMenuItemsId();
88+
menuItems.AddSubmenuTypes();
89+
8690
BridgeConnector.Socket.Emit("menu-setContextMenu", browserWindow.Id, JArray.FromObject(menuItems, _jsonSerializer));
8791

8892
if (!_contextMenuItems.ContainsKey(browserWindow.Id))

0 commit comments

Comments
 (0)