Bug 562721 - [KeyBindings] sequenceModifier is not correctly applied when multiple platforms are specified
Change-Id: I9a3a7a13f9b0a990463aa5ff15a8eefc2ba3188f
Signed-off-by: Rolf Theunissen <rolf.theunissen@gmail.com>
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/keys/BindingPersistence.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/keys/BindingPersistence.java
index f8f833c..a242756 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/keys/BindingPersistence.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/keys/BindingPersistence.java
@@ -680,7 +680,7 @@
int j = 0;
for (; j < platforms.length; j++) {
- if (platforms[j].equals(SWT.getPlatform())) {
+ if (platforms[j].equals(platform)) {
KeyBinding newBinding = new KeyBinding(KeySequence.getInstance(modifiedSequence), parameterizedCommand,
schemeId, contextId, locale, platforms[j], null, Binding.SYSTEM);
bindings.add(newBinding);
@@ -689,8 +689,8 @@
}
if (j == platforms.length) {
// platform doesn't match. use the unmodified sequence
- KeyBinding newBinding = new KeyBinding(keySequence, parameterizedCommand, schemeId, contextId, locale, null,
- null, Binding.SYSTEM);
+ KeyBinding newBinding = new KeyBinding(keySequence, parameterizedCommand, schemeId, contextId, locale,
+ platform, null, Binding.SYSTEM);
bindings.add(newBinding);
}
}
diff --git a/tests/org.eclipse.ui.tests/plugin.xml b/tests/org.eclipse.ui.tests/plugin.xml
index 815d98a..618bd3a 100644
--- a/tests/org.eclipse.ui.tests/plugin.xml
+++ b/tests/org.eclipse.ui.tests/plugin.xml
@@ -4373,10 +4373,24 @@
<key
commandId="org.eclipse.ui.file.import"
contextId="org.eclipse.ui.contexts.window"
- platform="carbon,cocoa,gtk,win32"
+ platform="cocoa"
schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
sequence="M1+8 I">
- </key>
+ </key>
+ <key
+ commandId="org.eclipse.ui.file.import"
+ contextId="org.eclipse.ui.contexts.window"
+ platform="gtk"
+ schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
+ sequence="M1+8 I">
+ </key>
+ <key
+ commandId="org.eclipse.ui.file.import"
+ contextId="org.eclipse.ui.contexts.window"
+ platform="win32"
+ schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
+ sequence="M1+8 I">
+ </key>
</extension>
<extension
point="org.eclipse.ui.bindings">