Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWojciech Sudol2014-05-28 12:33:24 +0000
committerPaul Webster2014-05-28 19:49:33 +0000
commitdf3aeba23ab5b3247ac6aa47755835d17f0917f4 (patch)
treeafb408001c9539d6dac9f914d93766754f4b281c
parent87b0c10b81c0ebfa0d44ded0b9cf51c628e9c916 (diff)
downloadeclipse.platform.ui-df3aeba23ab5b3247ac6aa47755835d17f0917f4.tar.gz
eclipse.platform.ui-df3aeba23ab5b3247ac6aa47755835d17f0917f4.tar.xz
eclipse.platform.ui-df3aeba23ab5b3247ac6aa47755835d17f0917f4.zip
Bug 385565 - [Contributions] Menu contribution processing has differentI20140528-2000
results in 4.2 than 3.8 Change-Id: I96bea8ba22ac366d06d1f682844fd56863e04b58 Signed-off-by: Wojciech Sudol <wojciech.sudol@pl.ibm.com>
-rw-r--r--bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/ui/internal/workbench/ContributionsAnalyzer.java5
-rw-r--r--bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/menus/MenuAdditionCacheEntry.java4
2 files changed, 6 insertions, 3 deletions
diff --git a/bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/ui/internal/workbench/ContributionsAnalyzer.java b/bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/ui/internal/workbench/ContributionsAnalyzer.java
index fb9bbca1409..bfdc3b2e20a 100644
--- a/bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/ui/internal/workbench/ContributionsAnalyzer.java
+++ b/bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/ui/internal/workbench/ContributionsAnalyzer.java
@@ -641,7 +641,10 @@ public final class ContributionsAnalyzer {
continue;
}
Object[] array = item.getChildren().toArray();
- int idx = 0;
+ int idx = getIndex(toContribute, item.getPositionInParent());
+ if (idx == -1) {
+ idx = 0;
+ }
for (int c = 0; c < array.length; c++) {
MMenuElement me = (MMenuElement) array[c];
if (!containsMatching(toContribute.getChildren(), me)) {
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/menus/MenuAdditionCacheEntry.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/menus/MenuAdditionCacheEntry.java
index 27cee842f2c..d558daa4a15 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/menus/MenuAdditionCacheEntry.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/menus/MenuAdditionCacheEntry.java
@@ -146,13 +146,13 @@ public class MenuAdditionCacheEntry {
if (idContrib != null && idContrib.length() > 0) {
menuContribution.setElementId(idContrib);
}
+ String query = location.getQuery();
if ("org.eclipse.ui.popup.any".equals(location.getPath())) { //$NON-NLS-1$
menuContribution.setParentId("popup"); //$NON-NLS-1$
} else {
menuContribution.setParentId(location.getPath());
+ hasAdditions = AFTER_ADDITIONS.equals(query);
}
- String query = location.getQuery();
- hasAdditions = AFTER_ADDITIONS.equals(query);
if (query == null || query.length() == 0) {
query = AFTER_ADDITIONS;
}

Back to the top