@@ -1229,15 +1229,13 @@ public void rebuildBoardsMenu(JMenu toolsMenu, Editor editor) throws Exception {
1229
1229
Map <String , ButtonGroup > buttonGroupsMap = new HashMap <String , ButtonGroup >();
1230
1230
1231
1231
// Generate custom menus for all platforms
1232
+ Set <String > titles = new HashSet <String >();
1232
1233
for (TargetPackage targetPackage : packages .values ()) {
1233
- for (TargetPlatform targetPlatform : targetPackage .platforms ()) {
1234
- PreferencesMap customMenus = targetPlatform .getCustomMenus ();
1235
- for (String menuId : customMenus .keySet ()) {
1236
- String title = customMenus .get (menuId );
1237
- makeBoardCustomMenu (toolsMenu , _ (title ));
1238
- }
1239
- }
1234
+ for (TargetPlatform targetPlatform : targetPackage .platforms ())
1235
+ titles .addAll (targetPlatform .getCustomMenus ().values ());
1240
1236
}
1237
+ for (String title : titles )
1238
+ makeBoardCustomMenu (toolsMenu , _ (title ));
1241
1239
1242
1240
// Cycle through all packages
1243
1241
for (TargetPackage targetPackage : packages .values ()) {
@@ -1399,9 +1397,9 @@ private static void filterVisibilityOfSubsequentBoardMenus(String boardID, int f
1399
1397
JMenuItem menuItem = menu .getItem (m );
1400
1398
menuItem .setVisible (menuItem .getAction ().getValue ("board" ).equals (boardID ));
1401
1399
}
1402
- menu .setEnabled (ifThereAreVisibleItemsOn (menu ));
1400
+ menu .setVisible (ifThereAreVisibleItemsOn (menu ));
1403
1401
1404
- if (menu .isEnabled ()) {
1402
+ if (menu .isVisible ()) {
1405
1403
JMenuItem visibleSelectedOrFirstMenuItem = selectVisibleSelectedOrFirstMenuItem (menu );
1406
1404
if (!visibleSelectedOrFirstMenuItem .isSelected ()) {
1407
1405
visibleSelectedOrFirstMenuItem .setSelected (true );
0 commit comments