--- old/src/windows/native/sun/windows/awt_Component.cpp 2014-07-01 20:49:00.441588300 +0400 +++ new/src/windows/native/sun/windows/awt_Component.cpp 2014-07-01 20:48:59.994031500 +0400 @@ -2136,19 +2136,7 @@ } jlong getMessageTimeUTC() { - return windowsToUTC(getMessageTimeWindows()); - } - - // If calling order of GetTickCount and JVM_CurrentTimeMillis - // is swapped, it would sometimes give different result. - // Anyway, we would not always have determinism - // and sortedness of time conversion here (due to Windows's - // timers peculiarities). Having some euristic algorithm might - // help here. - jlong windowsToUTC(DWORD windowsTime) { - jlong offset = ::GetTickCount() - windowsTime; - jlong jvm_time = ::JVM_CurrentTimeMillis(NULL, 0); - return jvm_time - offset; + return ::JVM_CurrentTimeMillis(NULL, 0); } } //TimeHelper @@ -3573,7 +3561,7 @@ SendKeyEventToFocusOwner(java_awt_event_KeyEvent_KEY_PRESSED, - TimeHelper::windowsToUTC(msg.time), jkey, character, + TimeHelper::getMessageTimeUTC(), jkey, character, modifiers, keyLocation, (jlong)wkey, &msg); // bugid 4724007: Windows does not create a WM_CHAR for the Del key @@ -3583,7 +3571,7 @@ // for Java - we don't want Windows trying to process it). if (jkey == java_awt_event_KeyEvent_VK_DELETE) { SendKeyEventToFocusOwner(java_awt_event_KeyEvent_KEY_TYPED, - TimeHelper::windowsToUTC(msg.time), + TimeHelper::getMessageTimeUTC(), java_awt_event_KeyEvent_VK_UNDEFINED, character, modifiers, java_awt_event_KeyEvent_KEY_LOCATION_UNKNOWN, (jlong)0); @@ -3615,7 +3603,7 @@ UpdateDynPrimaryKeymap(wkey, jkey, keyLocation, modifiers); SendKeyEventToFocusOwner(java_awt_event_KeyEvent_KEY_RELEASED, - TimeHelper::windowsToUTC(msg.time), jkey, character, + TimeHelper::getMessageTimeUTC(), jkey, character, modifiers, keyLocation, (jlong)wkey, &msg); return mrConsume; } @@ -3660,7 +3648,7 @@ jint modifiers = GetJavaModifiers(); SendKeyEventToFocusOwner(java_awt_event_KeyEvent_KEY_TYPED, - TimeHelper::windowsToUTC(msg.time), + TimeHelper::getMessageTimeUTC(), java_awt_event_KeyEvent_VK_UNDEFINED, unicodeChar, modifiers, java_awt_event_KeyEvent_KEY_LOCATION_UNKNOWN, (jlong)0, @@ -3729,7 +3717,7 @@ InitMessage(&msg, message, character, MAKELPARAM(repCnt, flags)); SendKeyEventToFocusOwner(java_awt_event_KeyEvent_KEY_TYPED, - TimeHelper::windowsToUTC(msg.time), + TimeHelper::getMessageTimeUTC(), java_awt_event_KeyEvent_VK_UNDEFINED, unicodeChar, modifiers, java_awt_event_KeyEvent_KEY_LOCATION_UNKNOWN, (jlong)0,