--- old/src/java.desktop/windows/native/libawt/windows/awt_Component.cpp 2016-03-24 15:11:42.994317000 +0530 +++ new/src/java.desktop/windows/native/libawt/windows/awt_Component.cpp 2016-03-24 15:11:42.838239000 +0530 @@ -2587,6 +2587,30 @@ return java_awt_event_KeyEvent_KEY_LOCATION_LEFT; } +/* Returns Java ActionEvent modifieres. + * When creating ActionEvent, modifiers provided by ActionEvent + * class should be set. + */ +jint +AwtComponent::GetActionModifiers() +{ + jint modifiers = GetJavaModifiers(); + + if (modifiers & java_awt_event_InputEvent_CTRL_DOWN_MASK) { + modifiers |= java_awt_event_InputEvent_CTRL_MASK; + } + if (modifiers & java_awt_event_InputEvent_SHIFT_DOWN_MASK) { + modifiers |= java_awt_event_InputEvent_SHIFT_MASK; + } + if (modifiers & java_awt_event_InputEvent_ALT_DOWN_MASK) { + modifiers |= java_awt_event_InputEvent_ALT_MASK; + } + if (modifiers & java_awt_event_InputEvent_ALT_GRAPH_DOWN_MASK) { + modifiers |= java_awt_event_InputEvent_ALT_GRAPH_MASK; + } + return modifiers; +} + /* Returns Java extended InputEvent modifieres. * Since ::GetKeyState returns current state and Java modifiers represent * state before event, modifier on changed key are inverted.