diff --git a/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/MenuManagerShowProcessor.java b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/MenuManagerShowProcessor.java index 3c13ec562e9..138e5d8d4b4 100644 --- a/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/MenuManagerShowProcessor.java +++ b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/MenuManagerShowProcessor.java @@ -123,8 +123,8 @@ public void menuAboutToHide(IMenuManager manager) { * {@link MDynamicMenuContribution} application model elements */ private void processDynamicElements(MMenu menuModel, MenuManager menuManager) { - MMenuElement[] menuElements = menuModel.getChildren().toArray( - new MMenuElement[menuModel.getChildren().size()]); + List children = menuModel.getChildren(); + MMenuElement[] menuElements = children.toArray(new MMenuElement[children.size()]); for (MMenuElement currentMenuElement : menuElements) { if (currentMenuElement instanceof MDynamicMenuContribution dmc) { @@ -154,9 +154,9 @@ private void processDynamicElements(MMenu menuModel, MenuManager menuManager) { if (mel.size() > 0) { int position = 0; - while (position < menuModel.getChildren().size()) { - if (currentMenuElement == menuModel.getChildren().get( - position)) { + children = menuModel.getChildren(); + while (position < children.size()) { + if (currentMenuElement == children.get(position)) { position++; break; } diff --git a/bundles/org.eclipse.ui.workbench/eclipseui/org/eclipse/ui/internal/WorkbenchPage.java b/bundles/org.eclipse.ui.workbench/eclipseui/org/eclipse/ui/internal/WorkbenchPage.java index 9fbee4b235b..2e3300d0c22 100644 --- a/bundles/org.eclipse.ui.workbench/eclipseui/org/eclipse/ui/internal/WorkbenchPage.java +++ b/bundles/org.eclipse.ui.workbench/eclipseui/org/eclipse/ui/internal/WorkbenchPage.java @@ -3423,16 +3423,18 @@ public void resetPerspective() { // Hide placeholders for parts that exist in the 'global' areas modelService.hideLocalPlaceholders(window, dummyPerspective); - int dCount = dummyPerspective.getChildren().size(); - while (!dummyPerspective.getChildren().isEmpty()) { - MPartSashContainerElement dChild = dummyPerspective.getChildren().remove(0); - persp.getChildren().add(dChild); + List dummyChildren = dummyPerspective.getChildren(); + List perspChildren = persp.getChildren(); + int dCount = dummyChildren.size(); + while (!dummyChildren.isEmpty()) { + MPartSashContainerElement dChild = dummyChildren.remove(0); + perspChildren.add(dChild); } - while (persp.getChildren().size() > dCount) { - MUIElement child = persp.getChildren().get(0); + while (perspChildren.size() > dCount) { + MUIElement child = perspChildren.get(0); child.setToBeRendered(false); - persp.getChildren().remove(0); + perspChildren.remove(0); } List existingDetachedWindows = new ArrayList<>(); diff --git a/bundles/org.eclipse.ui.workbench/eclipseui/org/eclipse/ui/internal/registry/WizardsRegistryReader.java b/bundles/org.eclipse.ui.workbench/eclipseui/org/eclipse/ui/internal/registry/WizardsRegistryReader.java index ed63e55b5e9..be425ba0637 100644 --- a/bundles/org.eclipse.ui.workbench/eclipseui/org/eclipse/ui/internal/registry/WizardsRegistryReader.java +++ b/bundles/org.eclipse.ui.workbench/eclipseui/org/eclipse/ui/internal/registry/WizardsRegistryReader.java @@ -76,14 +76,15 @@ private static class CategoryNode { CategoryNode(Category cat) { category = cat; - path = ""; //$NON-NLS-1$ String[] categoryPath = category.getParentPath(); + StringBuilder pathBuilder = new StringBuilder(); if (categoryPath != null) { for (String parentPath : categoryPath) { - path += parentPath + '/'; + pathBuilder.append(parentPath).append('/'); } } - path += cat.getId(); + pathBuilder.append(cat.getId()); + path = pathBuilder.toString(); } String getPath() {